@giro3d/piero 25.10.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +134 -0
  3. package/dist/Components.cjs.js +2605 -0
  4. package/dist/Components.es.js +43490 -0
  5. package/dist/assets/ParserWorker-Bd30oD5I.js +5 -0
  6. package/dist/assets/style.css +9 -0
  7. package/dist/basedecoder.cjs.js +1 -0
  8. package/dist/basedecoder.es.js +88 -0
  9. package/dist/decoder.cjs.js +1 -0
  10. package/dist/decoder.es.js +9 -0
  11. package/dist/deflate.cjs.js +1 -0
  12. package/dist/deflate.es.js +10 -0
  13. package/dist/index.cjs.js +93 -0
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.es.js +65240 -0
  16. package/dist/jpeg.cjs.js +1 -0
  17. package/dist/jpeg.es.js +514 -0
  18. package/dist/lerc.cjs.js +1 -0
  19. package/dist/lerc.es.js +1027 -0
  20. package/dist/lzw.cjs.js +1 -0
  21. package/dist/lzw.es.js +84 -0
  22. package/dist/modules.cjs.js +2973 -0
  23. package/dist/modules.d.ts +2 -0
  24. package/dist/modules.es.js +87571 -0
  25. package/dist/packbits.cjs.js +1 -0
  26. package/dist/packbits.es.js +24 -0
  27. package/dist/pako.esm.cjs.js +1 -0
  28. package/dist/pako.esm.es.js +1053 -0
  29. package/dist/piero_logo.png +0 -0
  30. package/dist/piero_logo_compact.png +0 -0
  31. package/dist/raw.cjs.js +1 -0
  32. package/dist/raw.es.js +9 -0
  33. package/dist/sponsors/bpi_france.png +0 -0
  34. package/dist/sponsors/france_2030.png +0 -0
  35. package/dist/sponsors/france_relance.png +0 -0
  36. package/dist/sponsors/oslandia.png +0 -0
  37. package/dist/sponsors/ue_next_generation.png +0 -0
  38. package/dist/src/App.vue.d.ts +6 -0
  39. package/dist/src/api/BookmarkApi.d.ts +6 -0
  40. package/dist/src/api/DatasetApi.d.ts +61 -0
  41. package/dist/src/api/ViewApi.d.ts +4 -0
  42. package/dist/src/api/index.d.ts +4 -0
  43. package/dist/src/components/AlertToast.vue.d.ts +4 -0
  44. package/dist/src/components/AttributeGroup.vue.d.ts +7 -0
  45. package/dist/src/components/AttributeItem.vue.d.ts +6 -0
  46. package/dist/src/components/AttributePanel.vue.d.ts +14 -0
  47. package/dist/src/components/ColorFragment.vue.d.ts +6 -0
  48. package/dist/src/components/Configuration.d.ts +14 -0
  49. package/dist/src/components/CoordinateFragment.vue.d.ts +10 -0
  50. package/dist/src/components/DropdownView.vue.d.ts +13 -0
  51. package/dist/src/components/LinkFragment.vue.d.ts +10 -0
  52. package/dist/src/components/LoadingScreen.vue.d.ts +2 -0
  53. package/dist/src/components/MainView.vue.d.ts +5 -0
  54. package/dist/src/components/MinimapView.vue.d.ts +4 -0
  55. package/dist/src/components/ModalOverlay.vue.d.ts +17 -0
  56. package/dist/src/components/NavigationButtons.vue.d.ts +2 -0
  57. package/dist/src/components/OpacitySlider.vue.d.ts +10 -0
  58. package/dist/src/components/PanelContainer.vue.d.ts +10 -0
  59. package/dist/src/components/ProgressBar.vue.d.ts +14 -0
  60. package/dist/src/components/SearchOverlay.vue.d.ts +8 -0
  61. package/dist/src/components/SpinnerControl.vue.d.ts +2 -0
  62. package/dist/src/components/StatusBar.vue.d.ts +10 -0
  63. package/dist/src/components/SwitchToggle.vue.d.ts +17 -0
  64. package/dist/src/components/VisibilityControl.vue.d.ts +9 -0
  65. package/dist/src/components/atoms/ButtonArea.vue.d.ts +9 -0
  66. package/dist/src/components/atoms/ButtonWithIcon.vue.d.ts +11 -0
  67. package/dist/src/components/atoms/CompactList.vue.d.ts +9 -0
  68. package/dist/src/components/atoms/Icon.vue.d.ts +6 -0
  69. package/dist/src/components/atoms/IconList.vue.d.ts +9 -0
  70. package/dist/src/components/atoms/IconListButton.vue.d.ts +10 -0
  71. package/dist/src/components/atoms/ImportButton.vue.d.ts +13 -0
  72. package/dist/src/components/atoms/ListLabel.vue.d.ts +5 -0
  73. package/dist/src/components/atoms/ListLabelButton.vue.d.ts +11 -0
  74. package/dist/src/components/atoms/SectionCollapsible.vue.d.ts +20 -0
  75. package/dist/src/components/charts/BarChart.vue.d.ts +4 -0
  76. package/dist/src/components/charts/DoughnutChart.vue.d.ts +4 -0
  77. package/dist/src/components/panels/AboutPanel.vue.d.ts +2 -0
  78. package/dist/src/components/panels/AnalysisPanel.vue.d.ts +2 -0
  79. package/dist/src/components/panels/AnnotationItem.vue.d.ts +21 -0
  80. package/dist/src/components/panels/AnnotationPanel.vue.d.ts +2 -0
  81. package/dist/src/components/panels/BasemapItem.vue.d.ts +17 -0
  82. package/dist/src/components/panels/BookmarkItem.vue.d.ts +16 -0
  83. package/dist/src/components/panels/BookmarkPanel.vue.d.ts +2 -0
  84. package/dist/src/components/panels/DatagroupItem.vue.d.ts +18 -0
  85. package/dist/src/components/panels/DatasetItem.vue.d.ts +18 -0
  86. package/dist/src/components/panels/DatasetOrGroupItem.vue.d.ts +18 -0
  87. package/dist/src/components/panels/DatasetPanel.vue.d.ts +2 -0
  88. package/dist/src/components/panels/EmptyIndicator.vue.d.ts +6 -0
  89. package/dist/src/components/panels/LoadingIndicator.vue.d.ts +6 -0
  90. package/dist/src/components/panels/MeasurementItem.vue.d.ts +17 -0
  91. package/dist/src/components/panels/MeasurementPanel.vue.d.ts +2 -0
  92. package/dist/src/components/panels/OverlayItem.vue.d.ts +19 -0
  93. package/dist/src/components/panels/ShareBookmarkModal.vue.d.ts +5 -0
  94. package/dist/src/components/panels/analysis/ClippingBox.vue.d.ts +2 -0
  95. package/dist/src/components/panels/analysis/CrossSection.vue.d.ts +2 -0
  96. package/dist/src/components/panels/analysis/FloodingPlane.vue.d.ts +2 -0
  97. package/dist/src/components/panels/analysis/Statistics.vue.d.ts +2 -0
  98. package/dist/src/components/panels/analysis/ToolWrapper.vue.d.ts +20 -0
  99. package/dist/src/components/toolbar/ToolBar.vue.d.ts +9 -0
  100. package/dist/src/components/toolbar/ToolbarButton.vue.d.ts +12 -0
  101. package/dist/src/config-loader.d.ts +7 -0
  102. package/dist/src/constants.d.ts +7 -0
  103. package/dist/src/context.d.ts +35 -0
  104. package/dist/src/createPieroApp.d.ts +31 -0
  105. package/dist/src/events.d.ts +30 -0
  106. package/dist/src/giro3d/CameraControlsInspector.d.ts +17 -0
  107. package/dist/src/giro3d/EntityBuilder.d.ts +21 -0
  108. package/dist/src/giro3d/Graticule.d.ts +20 -0
  109. package/dist/src/giro3d/Grid.d.ts +11 -0
  110. package/dist/src/giro3d/LayerBuilder.d.ts +46 -0
  111. package/dist/src/giro3d/Measure3D.d.ts +19 -0
  112. package/dist/src/giro3d/Plane.d.ts +11 -0
  113. package/dist/src/giro3d/Skybox.d.ts +6 -0
  114. package/dist/src/giro3d/entities/FeatureCollectionEntity.d.ts +41 -0
  115. package/dist/src/giro3d/entities/PointCloudEntity.d.ts +45 -0
  116. package/dist/src/giro3d/entities/TiledPointCloudEntity.d.ts +13 -0
  117. package/dist/src/giro3d/entities/Tiles3dEntity.d.ts +11 -0
  118. package/dist/src/giro3d/entities/VectorLabelsEntity.d.ts +48 -0
  119. package/dist/src/giro3d/entities/VectorMeshEntity.d.ts +97 -0
  120. package/dist/src/giro3d/entities/VectorShapeEntity.d.ts +8 -0
  121. package/dist/src/giro3d/entities/flatPointCloud.d.ts +2 -0
  122. package/dist/src/giro3d/entities/tiledIfc.d.ts +2 -0
  123. package/dist/src/giro3d/entities/vector.d.ts +2 -0
  124. package/dist/src/giro3d/sources/GeopackageSource.d.ts +20 -0
  125. package/dist/src/giro3d/sources/ShapefileSource.d.ts +20 -0
  126. package/dist/src/giro3d/sources/mixins.d.ts +60 -0
  127. package/dist/src/index.d.ts +17 -0
  128. package/dist/src/loaders/csv.d.ts +3 -0
  129. package/dist/src/loaders/las.d.ts +3 -0
  130. package/dist/src/loaders/loader.d.ts +29 -0
  131. package/dist/src/loaders/loader.test.d.ts +1 -0
  132. package/dist/src/loaders/userData.d.ts +8 -0
  133. package/dist/src/loaders/vector.d.ts +4 -0
  134. package/dist/src/module.d.ts +11 -0
  135. package/dist/src/modules/CityJSONLoader.d.ts +10 -0
  136. package/dist/src/modules/IFCLoader.d.ts +9 -0
  137. package/dist/src/modules/PLYLoader.d.ts +9 -0
  138. package/dist/src/modules/PotreeLoader.d.ts +9 -0
  139. package/dist/src/modules/Tour.d.ts +17 -0
  140. package/dist/src/modules/cityjson/CityJSONEntity.d.ts +79 -0
  141. package/dist/src/modules/cityjson/CityJSONEntityInspector.d.ts +8 -0
  142. package/dist/src/modules/ifc/IfcEntity.d.ts +87 -0
  143. package/dist/src/modules/ifc/IfcEntityInspector.d.ts +7 -0
  144. package/dist/src/modules/ifc/IfcPropertyView.vue.d.ts +6 -0
  145. package/dist/src/modules/ifc/IfcSubtree.vue.d.ts +7 -0
  146. package/dist/src/modules/index.d.ts +6 -0
  147. package/dist/src/modules/ply/PlyEntity.d.ts +33 -0
  148. package/dist/src/providers/Alticoding.d.ts +32 -0
  149. package/dist/src/providers/BanProvider.d.ts +11 -0
  150. package/dist/src/providers/Geocoding.d.ts +7 -0
  151. package/dist/src/providers/IgnProvider.d.ts +11 -0
  152. package/dist/src/services/AnalysisManager.d.ts +10 -0
  153. package/dist/src/services/AnnotationManager.d.ts +48 -0
  154. package/dist/src/services/CameraController.d.ts +99 -0
  155. package/dist/src/services/DatasetManager.d.ts +27 -0
  156. package/dist/src/services/Giro3DManager.d.ts +42 -0
  157. package/dist/src/services/Highlighter.d.ts +11 -0
  158. package/dist/src/services/LayerManager.d.ts +37 -0
  159. package/dist/src/services/MeasureTool.d.ts +13 -0
  160. package/dist/src/services/MeasurementManager.d.ts +31 -0
  161. package/dist/src/services/MinimapController.d.ts +19 -0
  162. package/dist/src/services/Picker.d.ts +53 -0
  163. package/dist/src/services/analysis/ClippingBoxManager.d.ts +41 -0
  164. package/dist/src/services/analysis/CrossSectionManager.d.ts +9 -0
  165. package/dist/src/services/analysis/FloodingPlaneManager.d.ts +11 -0
  166. package/dist/src/stores/analysis.d.ts +1571 -0
  167. package/dist/src/stores/annotations.d.ts +60 -0
  168. package/dist/src/stores/bookmarks.d.ts +21 -0
  169. package/dist/src/stores/camera.d.ts +287 -0
  170. package/dist/src/stores/datasets.d.ts +49 -0
  171. package/dist/src/stores/giro3d.d.ts +45 -0
  172. package/dist/src/stores/layers.d.ts +40 -0
  173. package/dist/src/stores/measurement.d.ts +45 -0
  174. package/dist/src/stores/modules.d.ts +11 -0
  175. package/dist/src/stores/notifications.d.ts +8 -0
  176. package/dist/src/stores/statistics.d.ts +8 -0
  177. package/dist/src/types/Annotation.d.ts +35 -0
  178. package/dist/src/types/AnnotationMode.d.ts +7 -0
  179. package/dist/src/types/BaseLayer.d.ts +30 -0
  180. package/dist/src/types/Bookmark.d.ts +19 -0
  181. package/dist/src/types/CameraPosition.d.ts +7 -0
  182. package/dist/src/types/Configuration.d.ts +94 -0
  183. package/dist/src/types/Dataset.d.ts +78 -0
  184. package/dist/src/types/Feature.d.ts +13 -0
  185. package/dist/src/types/FloodingPlane.d.ts +14 -0
  186. package/dist/src/types/IFCTypes.d.ts +5 -0
  187. package/dist/src/types/LayerObject.d.ts +20 -0
  188. package/dist/src/types/Measure.d.ts +20 -0
  189. package/dist/src/types/MeasurementMode.d.ts +7 -0
  190. package/dist/src/types/Named.d.ts +5 -0
  191. package/dist/src/types/NavigationMode.d.ts +2 -0
  192. package/dist/src/types/Notification.d.ts +8 -0
  193. package/dist/src/types/OLGeometry.d.ts +1 -0
  194. package/dist/src/types/Overlay.d.ts +24 -0
  195. package/dist/src/types/VectorStyle.d.ts +31 -0
  196. package/dist/src/types/Viewbox.d.ts +7 -0
  197. package/dist/src/types/configuration/analysis.d.ts +26 -0
  198. package/dist/src/types/configuration/bookmark.d.ts +16 -0
  199. package/dist/src/types/configuration/camera.d.ts +19 -0
  200. package/dist/src/types/configuration/color.d.ts +18 -0
  201. package/dist/src/types/configuration/datasets/cityjson.d.ts +9 -0
  202. package/dist/src/types/configuration/datasets/core.d.ts +49 -0
  203. package/dist/src/types/configuration/datasets/featureCollection.d.ts +6 -0
  204. package/dist/src/types/configuration/datasets/ifc.d.ts +10 -0
  205. package/dist/src/types/configuration/datasets/index.d.ts +27 -0
  206. package/dist/src/types/configuration/datasets/layer.d.ts +43 -0
  207. package/dist/src/types/configuration/datasets/ply.d.ts +10 -0
  208. package/dist/src/types/configuration/datasets/pointCloud.d.ts +12 -0
  209. package/dist/src/types/configuration/datasets/potreePointCloud.d.ts +10 -0
  210. package/dist/src/types/configuration/datasets/tiledIfc.d.ts +9 -0
  211. package/dist/src/types/configuration/datasets/tiledPointCloud.d.ts +9 -0
  212. package/dist/src/types/configuration/datasets/vector.d.ts +34 -0
  213. package/dist/src/types/configuration/features.d.ts +2 -0
  214. package/dist/src/types/configuration/geographic.d.ts +51 -0
  215. package/dist/src/types/configuration/layers/core.d.ts +50 -0
  216. package/dist/src/types/configuration/layers/index.d.ts +49 -0
  217. package/dist/src/types/configuration/sources/bingMaps.d.ts +5 -0
  218. package/dist/src/types/configuration/sources/core/baseConfig.d.ts +70 -0
  219. package/dist/src/types/configuration/sources/core/tiled.d.ts +19 -0
  220. package/dist/src/types/configuration/sources/core/vector.d.ts +13 -0
  221. package/dist/src/types/configuration/sources/core/vectorTile.d.ts +8 -0
  222. package/dist/src/types/configuration/sources/customVector.d.ts +7 -0
  223. package/dist/src/types/configuration/sources/customVectorTile.d.ts +8 -0
  224. package/dist/src/types/configuration/sources/geojson.d.ts +5 -0
  225. package/dist/src/types/configuration/sources/geotiff.d.ts +8 -0
  226. package/dist/src/types/configuration/sources/gpx.d.ts +5 -0
  227. package/dist/src/types/configuration/sources/kml.d.ts +5 -0
  228. package/dist/src/types/configuration/sources/mvt.d.ts +10 -0
  229. package/dist/src/types/configuration/sources/osm.d.ts +5 -0
  230. package/dist/src/types/configuration/sources/stadiaMaps.d.ts +5 -0
  231. package/dist/src/types/configuration/sources/wms.d.ts +15 -0
  232. package/dist/src/types/configuration/sources/wmts.d.ts +15 -0
  233. package/dist/src/types/configuration/sources/xyz.d.ts +9 -0
  234. package/dist/src/types/utilities.d.ts +5 -0
  235. package/dist/src/utils/Components.d.ts +8 -0
  236. package/dist/src/utils/Configuration.d.ts +15 -0
  237. package/dist/src/utils/Download.d.ts +11 -0
  238. package/dist/src/utils/Fetcher.d.ts +77 -0
  239. package/dist/src/utils/Measure.d.ts +7 -0
  240. package/dist/src/utils/OLFeatures.d.ts +57 -0
  241. package/dist/src/utils/Projections.d.ts +10 -0
  242. package/dist/src/utils/Types.d.ts +11 -0
  243. package/dist/webimage.cjs.js +1 -0
  244. package/dist/webimage.es.js +19 -0
  245. package/package.json +100 -0
@@ -0,0 +1,11 @@
1
+ import { GeocodingResult } from './Geocoding';
2
+ declare const _default: {
3
+ /**
4
+ * Searches for an address in the French BAN
5
+ *
6
+ * @param query - Search query
7
+ * @returns Results
8
+ */
9
+ geocode(query: string): Promise<GeocodingResult[]>;
10
+ };
11
+ export default _default;
@@ -0,0 +1,7 @@
1
+ export type GeocodingResult = {
2
+ label: string;
3
+ crs: string;
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ };
@@ -0,0 +1,11 @@
1
+ import { default as Coordinates } from '@giro3d/giro3d/core/geographic/Coordinates';
2
+ declare const _default: {
3
+ /**
4
+ * Fetches altitudes from IGN Alti service.
5
+ * Will fill the `altitude` component of each coordinates.
6
+ *
7
+ * @param coordinates - Coordinates to fetch altitudes for
8
+ */
9
+ alticode(coordinates: Coordinates[]): Promise<void>;
10
+ };
11
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ import { default as LayerManager } from './LayerManager';
3
+ export default class AnalysisManager {
4
+ private readonly _instance;
5
+ private readonly _floodingPlaneManager;
6
+ private readonly _crossSectionManager;
7
+ private readonly _clippingBoxManager;
8
+ constructor(instance: Instance, layerManager: LayerManager);
9
+ dispose(): void;
10
+ }
@@ -0,0 +1,48 @@
1
+ import { default as CameraController } from './CameraController';
2
+ import { default as Picker } from './Picker';
3
+ import { PieroShapeUserData, default as Annotation } from '../types/Annotation';
4
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
5
+ import { default as Shape } from '@giro3d/giro3d/entities/Shape';
6
+ export default class AnnotationManager {
7
+ private readonly _drawTool;
8
+ private readonly _shapes;
9
+ private readonly _picker;
10
+ private readonly _instance;
11
+ private readonly _store;
12
+ private readonly _notificationStore;
13
+ private readonly _boundOnKeyDown;
14
+ private readonly _boundExitEdition;
15
+ private readonly _boundOnStartDrag;
16
+ private readonly _boundOnEndDrag;
17
+ private readonly _boundUpdateLabels;
18
+ private _isEditing;
19
+ private _editedShape;
20
+ private _editedShapePreviousPoints;
21
+ constructor(instance: Instance, camera: CameraController, picker: Picker);
22
+ private udpateLabelVisibility;
23
+ private updateLabels;
24
+ dispose(): void;
25
+ private stopEdition;
26
+ private importShapeFromGeoJSON;
27
+ private onKeyDown;
28
+ private filterPickResults;
29
+ private pickDefault;
30
+ private pickMap;
31
+ private pickFeatures;
32
+ private pick;
33
+ private updateDrawing;
34
+ private addShape;
35
+ private getCreationOptions;
36
+ private draw;
37
+ private drawPoint;
38
+ private drawPolygon;
39
+ private drawLine;
40
+ pushNewAnnotation(title: string, shape: Shape<PieroShapeUserData>, properties?: object): Annotation;
41
+ private importAnnotation;
42
+ private importBlob;
43
+ private importAnnotationFile;
44
+ private importAnnotationFiles;
45
+ private editAnnotation;
46
+ private deleteAnnotation;
47
+ private computeMeasurements;
48
+ }
@@ -0,0 +1,99 @@
1
+ import { default as CameraPosition } from '../types/CameraPosition';
2
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
3
+ import { default as Extent } from '@giro3d/giro3d/core/geographic/Extent';
4
+ import { default as Entity3D } from '@giro3d/giro3d/entities/Entity3D';
5
+ import { Object3D, Box3, EventDispatcher, Vector3 } from '../../../../node_modules/three';
6
+ import { default as Picker } from './Picker';
7
+ type CameraControllerEventMap = {
8
+ 'interaction-start': {};
9
+ 'interaction-end': {};
10
+ };
11
+ /**
12
+ * Wraps Camera-controls into Giro3D
13
+ */
14
+ declare class CameraController extends EventDispatcher<CameraControllerEventMap> {
15
+ private readonly _instance;
16
+ private readonly _picker;
17
+ private readonly _orbitControls;
18
+ private readonly _pickObjectsAt;
19
+ private readonly _clock;
20
+ private readonly _store;
21
+ private readonly _giro3dStore;
22
+ private readonly _orbitHelper;
23
+ private readonly _positionOnMapHelper;
24
+ private _cameraControlsInspector;
25
+ private readonly _boundOnBeforeCameraUpdate;
26
+ private readonly _boundOnAfterCameraUpdate;
27
+ private _boundOrbitControlsOnContextMenu;
28
+ private _boundOrbitControlsOnMouseUp;
29
+ private _boundOrbitControlsOnWheel;
30
+ private _boundOrbitControlsOnKey;
31
+ private _boundPositionOnMapOnMouseMove;
32
+ private _boundPositionOnMapOnClick;
33
+ private _boundPositionOnMapOnContextMenu;
34
+ /**
35
+ * Creates new Camera-controls and bind them to Giro3D.
36
+ *
37
+ * @param instance - Giro3D instance
38
+ * @param picker - Picker
39
+ */
40
+ constructor(instance: Instance, picker: Picker);
41
+ dispose(): void;
42
+ private initializeInspector;
43
+ private initializeOrbitControls;
44
+ private disposeOrbitControls;
45
+ private orbitControlsOnContextMenu;
46
+ private orbitControlsOnMouseUp;
47
+ private orbitControlsOnWheel;
48
+ private orbitControlsOnKey;
49
+ private _enablePositionOnMap;
50
+ private _disablePositionOnMap;
51
+ private onPositionOnMapMouseMove;
52
+ private onPositionOnMapContextMenu;
53
+ private onPositionOnMapClick;
54
+ private setNavigationMode;
55
+ onBeforeCameraUpdate(): void;
56
+ onAfterCameraUpdate(): void;
57
+ /**
58
+ * Executes an interaction with animation.
59
+ *
60
+ * Required to call this instead of calling directly camera-controls because
61
+ * of how Giro3D mainloop works.
62
+ *
63
+ * @param callback - Interaction to execute
64
+ * @returns Resolves when interaction is done
65
+ */
66
+ executeInteraction<T = void>(callback: () => Promise<T>): Promise<T>;
67
+ /**
68
+ * Sets initial position of camera to view an extent.
69
+ *
70
+ * @param extent - Extent to look at
71
+ * @param altitude - Altitude of camera
72
+ */
73
+ setInitialPosition(extent: Extent, altitude?: number): void;
74
+ /**
75
+ * Sets the camera to look at a position.
76
+ *
77
+ * @param position - Position of the camera
78
+ * @param lookAt - Posiiton to look at
79
+ * @param enableTransition - Enables transition
80
+ * @returns Resolves when interaction is done
81
+ */
82
+ lookAt(position: Vector3, lookAt: Vector3, enableTransition?: boolean): Promise<void>;
83
+ get enabled(): boolean;
84
+ set enabled(v: boolean);
85
+ getCameraPosition(target?: CameraPosition): CameraPosition;
86
+ setCamera(pos: CameraPosition): void;
87
+ /**
88
+ * Looks to a bounding box or Object3D.
89
+ *
90
+ * @param obj - Bounding box or Object to look at
91
+ * @param enableTransition - Enables transition
92
+ * @param options - Camera-controls' fitToBox options
93
+ * @returns Resolves when interaction is done
94
+ */
95
+ goToBox(obj: Box3 | Object3D | Entity3D, enableTransition?: boolean, options?: object): Promise<void[]>;
96
+ lookTopDownAt(obj: Box3 | Object3D | Entity3D, enableTransition?: boolean): Promise<void>;
97
+ protected getBox(obj: Box3 | Object3D | Entity3D): Box3;
98
+ }
99
+ export default CameraController;
@@ -0,0 +1,27 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ import { default as LayerManager } from './LayerManager';
3
+ export default class DatasetManager {
4
+ private readonly _instance;
5
+ private readonly _layerManager;
6
+ private readonly _entities;
7
+ private readonly _overlays;
8
+ private readonly _axisGrids;
9
+ private readonly _masks;
10
+ private readonly _store;
11
+ private readonly _notifications;
12
+ constructor(instance: Instance, layerManager: LayerManager);
13
+ dispose(): void;
14
+ private createGrid;
15
+ private deleteGrid;
16
+ private onToggleGrid;
17
+ private createMask;
18
+ private deleteMask;
19
+ private onToggleMask;
20
+ private onVisibilityChanged;
21
+ private importFromFile;
22
+ private updateDataset;
23
+ private deleteDataset;
24
+ private onDatasetPreloaded;
25
+ private onDatasetPreloadedAsLayer;
26
+ private preloadDataset;
27
+ }
@@ -0,0 +1,42 @@
1
+ import { default as AnalysisManager } from './AnalysisManager';
2
+ import { default as AnnotationManager } from './AnnotationManager';
3
+ import { default as CameraController } from './CameraController';
4
+ import { default as DatasetManager } from './DatasetManager';
5
+ import { default as Highlighter } from './Highlighter';
6
+ import { default as LayerManager } from './LayerManager';
7
+ import { default as MeasurementManager } from './MeasurementManager';
8
+ import { default as Picker } from './Picker';
9
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
10
+ import { Object3D, AmbientLight, Box3, DirectionalLight, EventDispatcher } from '../../../../node_modules/three';
11
+ type Giro3DManagerEventMap = {
12
+ update: {};
13
+ };
14
+ export default class Giro3DManager extends EventDispatcher<Giro3DManagerEventMap> {
15
+ private readonly _store;
16
+ readonly mainInstance: Instance;
17
+ readonly camera: CameraController;
18
+ readonly layerManager: LayerManager;
19
+ readonly datasetManager: DatasetManager;
20
+ readonly annotationManager: AnnotationManager;
21
+ readonly analysisManager: AnalysisManager;
22
+ readonly highlighter: Highlighter;
23
+ readonly picker: Picker;
24
+ readonly measurementManager: MeasurementManager;
25
+ readonly ambientLight: AmbientLight;
26
+ readonly dirLight: DirectionalLight;
27
+ private readonly _boundOnFrameEnd;
28
+ constructor(instance: Instance);
29
+ dispose(): void;
30
+ onFrameEnd(): void;
31
+ /**
32
+ * Gets the datasets & annotations as Object3D.
33
+ */
34
+ getObjects3d(): Object3D[];
35
+ /**
36
+ * Gets bounding box of all datasets & annotations.
37
+ *
38
+ * @returns Bounding box of all datasets.
39
+ */
40
+ getBoundingBox(): Box3;
41
+ }
42
+ export {};
@@ -0,0 +1,11 @@
1
+ import { default as PickResult } from '@giro3d/giro3d/core/picking/PickResult';
2
+ export type ClearHighlightFn = () => void;
3
+ export type HighlightFn = (obj: PickResult) => ClearHighlightFn | null;
4
+ export declare const customHighlighters: HighlightFn[];
5
+ export default class Highlighter {
6
+ private _clearHighlight;
7
+ dispose(): void;
8
+ clear(): void;
9
+ private highlightShape;
10
+ highlightFromPick(pick: PickResult): void;
11
+ }
@@ -0,0 +1,37 @@
1
+ import { BaseLayer, BasemapLayer } from '../types/BaseLayer';
2
+ import { Overlay } from '../types/Overlay';
3
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
4
+ import { EventDispatcher } from '../../../../node_modules/three';
5
+ export declare const GRID_NAME = "grid";
6
+ export declare const PLANE_NAME = "plane";
7
+ export default class LayerManager extends EventDispatcher {
8
+ private readonly _instance;
9
+ private readonly _cameraStore;
10
+ private readonly _giro3dStore;
11
+ private readonly _layerStore;
12
+ private readonly _basemap;
13
+ private readonly _grid;
14
+ private readonly _plane;
15
+ private readonly _baseLayers;
16
+ private readonly _overlays;
17
+ private readonly _datasetLayers;
18
+ private readonly _boundOnAfterCameraUpdate;
19
+ constructor(instance: Instance);
20
+ dispose(): void;
21
+ private onAfterCameraUpdate;
22
+ notify(layer: BasemapLayer): void;
23
+ removeBasemapLayer(layer: BasemapLayer): void;
24
+ addDatasetLayer(layer: BasemapLayer): Promise<void>;
25
+ get extent(): import('@giro3d/giro3d/core/geographic/Extent').default;
26
+ setMapOpacity(opacity: number): void;
27
+ private loadBasemap;
28
+ private loadOverlay;
29
+ private getLayer;
30
+ private getOverlay;
31
+ onOverlayReordered(overlay: Overlay): void;
32
+ onLayerOpacityChanged(basemap: BaseLayer, newOpacity: number): Promise<void>;
33
+ onOverlayOpacityChanged(overlay: Overlay, newOpacity: number): Promise<void>;
34
+ onLayerVisibilityChanged(basemap: BaseLayer, newVisibility: boolean): Promise<void>;
35
+ onOverlayVisibilityChanged(overlay: Overlay, newVisibility: boolean): Promise<void>;
36
+ private updateLayerOrdering;
37
+ }
@@ -0,0 +1,13 @@
1
+ import { default as Measure3D } from '../giro3d/Measure3D';
2
+ import { default as Picker } from './Picker';
3
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
4
+ export default class MeasureTool {
5
+ private readonly _picker;
6
+ private readonly _raycaster;
7
+ private _hoverMeasurement;
8
+ constructor(picker: Picker);
9
+ dispose(): void;
10
+ measure(instance: Instance, event: MouseEvent): void;
11
+ clean(): void;
12
+ getLastMeasurement(): Measure3D | undefined;
13
+ }
@@ -0,0 +1,31 @@
1
+ import { default as CameraController } from './CameraController';
2
+ import { default as Picker } from './Picker';
3
+ import { default as Measure } from '../types/Measure';
4
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
5
+ export default class MeasurementManager {
6
+ private readonly _instance;
7
+ private readonly _measureTool;
8
+ private readonly _camera;
9
+ private readonly _store;
10
+ private readonly _notificationStore;
11
+ private _paused;
12
+ private readonly _boundOnEscape;
13
+ private readonly _boundPause;
14
+ private readonly _boundRestart;
15
+ private readonly _boundMeasure;
16
+ private readonly _boundSaveMeasure;
17
+ constructor(instance: Instance, camera: CameraController, picker: Picker);
18
+ dispose(): void;
19
+ private onEscape;
20
+ startMeasuring(): void;
21
+ stopMeasuring(): void;
22
+ private measure;
23
+ private saveMeasure;
24
+ private pushNewMeasure;
25
+ updateMeasure(measure: Measure): void;
26
+ private deleteMeasure;
27
+ private importMeasure;
28
+ private importBlob;
29
+ private importMeasureFile;
30
+ private importMeasureFiles;
31
+ }
@@ -0,0 +1,19 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ import { Vector3 } from '../../../../node_modules/three';
3
+ export default class MinimapController {
4
+ private _mainInstance;
5
+ private readonly _minimapInstance;
6
+ private readonly _viewbox;
7
+ private readonly _basemap;
8
+ private _boundUpdateViewbox;
9
+ constructor(instance: Instance);
10
+ dispose(): void;
11
+ setMainInstance(instance: Instance | null): void;
12
+ getCorners(): {
13
+ ul: Vector3;
14
+ ur: Vector3;
15
+ ll: Vector3;
16
+ lr: Vector3;
17
+ } | undefined;
18
+ updateViewbox(): void;
19
+ }
@@ -0,0 +1,53 @@
1
+ import { Attribute, AttributesGroups, default as Feature } from '../types/Feature';
2
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
3
+ import { PointsPickResult } from '@giro3d/giro3d/core/picking/PickPointsAt';
4
+ import { default as PickResult } from '@giro3d/giro3d/core/picking/PickResult';
5
+ import { default as Entity } from '@giro3d/giro3d/entities/Entity';
6
+ import { ShapePickResult } from '@giro3d/giro3d/entities/Shape';
7
+ import { Feature as OLFeature } from 'ol';
8
+ import { Vector2, Vector3, Object3D } from '../../../../node_modules/three';
9
+ export type AttributeExtractorFn<T extends PickResult = PickResult> = (pickResult: T, attributesGroups: AttributesGroups) => void;
10
+ export declare const customAttributeExtractors: AttributeExtractorFn[];
11
+ export default class Picker {
12
+ private readonly _analysisStore;
13
+ filterPick(instance: Instance, result: PickResult): boolean;
14
+ getNameFromOLFeature(feature: OLFeature): string;
15
+ getAttributesFromOLFeature(feature: OLFeature, attributesGroups: AttributesGroups): void;
16
+ getAttributesFromPointCloud(pickResult: PointsPickResult, attributesGroups: AttributesGroups): void;
17
+ getAttributesFromUserData(userData: object, attributes: Attribute[]): void;
18
+ getAttributesFromObject3D(object: Object3D, attributes: Attribute[]): void;
19
+ getAttributesFromPickedObject3D(pickResult: PickResult, attributesGroups: AttributesGroups): void;
20
+ getAttributesFromEntity(entity: Entity, attributesGroups: AttributesGroups): void;
21
+ getDatasetAttributes(object: Object3D, datasetAttributes: Attribute[]): void;
22
+ /**
23
+ * Gets the closest dataset object from where the user clicked.
24
+ * Does **NOT** pick on the base map!
25
+ *
26
+ * @param e - Mouse event
27
+ * @param radius - Radius - the smaller, the faster and more precise (but
28
+ * may return nothing)
29
+ * @returns Result or null if notthing found
30
+ */
31
+ getObjectsAt(instance: Instance, e: MouseEvent | Vector2, radius?: number, filterOnObjects?: (obj: Object3D | Entity) => boolean): PickResult[] | null;
32
+ /**
33
+ * Gets the point on map or grid where the user clicked.
34
+ *
35
+ * @param e - Mouse event
36
+ * @param radius - Radius - the smaller, the faster and more precise (but
37
+ * may return nothing)
38
+ * @returns Result or null if nothing found
39
+ */
40
+ getMapAt(instance: Instance, e: MouseEvent, radius?: number): PickResult | null;
41
+ getFirstFeatureAt(instance: Instance, e: MouseEvent, radius?: number, filterOnObjects?: (obj: Object3D | Entity) => boolean): PickResult[] | null;
42
+ getGeometryAttributes(object: Object3D, attributes: Array<Attribute>): void;
43
+ getAttributesFromAnnotation(pickResult: ShapePickResult, attributesGroups: AttributesGroups): void;
44
+ getAttributesFromMeasure(pickResult: PickResult, attributesGroups: AttributesGroups): void;
45
+ getFeatureFromPickedObject(pickedObject: PickResult): Feature | null;
46
+ getMouseCoordinate(instance: Instance, mouse: Vector2): Vector3 | null;
47
+ hasFeature(instance: Instance, mouse: Vector2): boolean;
48
+ pick(instance: Instance, event: MouseEvent): {
49
+ point: Vector3;
50
+ feature: Feature | null;
51
+ pickResult: PickResult;
52
+ } | null;
53
+ }
@@ -0,0 +1,41 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ export default class ClippingBoxManager {
3
+ private readonly _instance;
4
+ private readonly _volumeHelpers;
5
+ private _clippingBox;
6
+ private _clippingBoxHelper;
7
+ private _clippingBoxMesh;
8
+ private _transformControls;
9
+ private _previousTransformControls;
10
+ private readonly _store;
11
+ private readonly _cameraStore;
12
+ private readonly _datasetStore;
13
+ constructor(instance: Instance);
14
+ dispose(): void;
15
+ /**
16
+ * Creates the whole clipping box and helpers if displayed
17
+ * @param center - Center of the clipping box
18
+ * @param size - Size of the clipping box
19
+ */
20
+ private createClippingBox;
21
+ private getPlanesFromBoxSides;
22
+ /**
23
+ * Disposes of the clipping box and all helpers
24
+ */
25
+ private disposeClippingBox;
26
+ /**
27
+ * Applies defined clipping planes to all entities.
28
+ * This is required after:
29
+ * - changing the clipping box
30
+ * - loading a new entity
31
+ */
32
+ private applyClippingPlanes;
33
+ /**
34
+ * Moves an existing clipping box, while keeping its size
35
+ */
36
+ private moveClippingBox;
37
+ /**
38
+ * Updates the clipping box; required when changing its size
39
+ */
40
+ private updateClippingBox;
41
+ }
@@ -0,0 +1,9 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ export default class CrossSectionManager {
3
+ private readonly _instance;
4
+ private readonly _store;
5
+ private readonly _datasetStore;
6
+ constructor(instance: Instance);
7
+ dispose(): void;
8
+ private updateCrossSection;
9
+ }
@@ -0,0 +1,11 @@
1
+ import { default as LayerManager } from '../LayerManager';
2
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
3
+ export default class FloodingPlaneManager {
4
+ private readonly _instance;
5
+ private readonly _layerManager;
6
+ private readonly _store;
7
+ private _plane;
8
+ constructor(instance: Instance, layerManager: LayerManager);
9
+ dispose(): void;
10
+ private updatePlane;
11
+ }