@giro3d/piero 1.0.0-beta.0 → 1.0.0-beta.2

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 (59) hide show
  1. package/dist/Components.cjs.js +5 -1
  2. package/dist/Components.cjs.js.map +1 -1
  3. package/dist/Components.es.js +6286 -432
  4. package/dist/Components.es.js.map +1 -1
  5. package/dist/assets/piero.css +2 -2
  6. package/dist/index.cjs.js +11 -3
  7. package/dist/index.cjs.js.map +1 -1
  8. package/dist/index.es.js +8206 -4441
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/modules.cjs.js +2 -1
  11. package/dist/modules.cjs.js.map +1 -1
  12. package/dist/modules.es.js +1051 -414
  13. package/dist/modules.es.js.map +1 -1
  14. package/dist/src/api/AnalysisApi.d.ts +15 -0
  15. package/dist/src/api/DatasetApi.d.ts +28 -0
  16. package/dist/src/api/NotificationApi.d.ts +10 -0
  17. package/dist/src/api/ViewApi.d.ts +4 -0
  18. package/dist/src/api/index.d.ts +2 -2
  19. package/dist/src/components/panels/AnalysisPanel.vue.d.ts +1 -1
  20. package/dist/src/components/panels/DatasetOrGroupItem.vue.d.ts +0 -2
  21. package/dist/src/components/panels/analysis/ToolWrapper.vue.d.ts +1 -6
  22. package/dist/src/context.d.ts +7 -0
  23. package/dist/src/index.d.ts +2 -1
  24. package/dist/src/module.d.ts +4 -0
  25. package/dist/src/modules/ClippingBoxAnalysis.d.ts +18 -0
  26. package/dist/src/modules/CrossSectionAnalysis.d.ts +11 -0
  27. package/dist/src/modules/DownloadDataset.d.ts +12 -0
  28. package/dist/src/modules/FloodingPlaneAnalysis.d.ts +11 -0
  29. package/dist/src/modules/IFCLoader.d.ts +1 -0
  30. package/dist/src/modules/PLYLoader.d.ts +1 -0
  31. package/dist/src/modules/PotreeLoader.d.ts +1 -0
  32. package/dist/src/modules/Tour.d.ts +1 -0
  33. package/dist/src/{services/analysis → modules/clippingBoxAnalysis}/ClippingBoxManager.d.ts +9 -3
  34. package/dist/src/modules/clippingBoxAnalysis/store.d.ts +2268 -0
  35. package/dist/src/modules/crossSectionAnalysis/CrossSectionManager.d.ts +8 -0
  36. package/dist/src/modules/crossSectionAnalysis/store.d.ts +522 -0
  37. package/dist/src/modules/floodingPlaneAnalysis/FloodingPlaneManager.d.ts +9 -0
  38. package/dist/src/{types/FloodingPlane.d.ts → modules/floodingPlaneAnalysis/FloodingPlaneObject.d.ts} +2 -2
  39. package/dist/src/modules/floodingPlaneAnalysis/store.d.ts +16 -0
  40. package/dist/src/modules/index.d.ts +5 -1
  41. package/dist/src/services/Giro3DManager.d.ts +0 -2
  42. package/dist/src/services/Picker.d.ts +1 -1
  43. package/dist/src/stores/analysis.d.ts +19 -1569
  44. package/dist/src/stores/datasets.d.ts +23 -1
  45. package/dist/src/stores/modules.d.ts +5 -1
  46. package/dist/src/stores/modules.test.d.ts +1 -0
  47. package/dist/src/stores/notifications.d.ts +1 -0
  48. package/package.json +1 -5
  49. package/dist/src/components/charts/BarChart.vue.d.ts +0 -4
  50. package/dist/src/components/charts/DoughnutChart.vue.d.ts +0 -4
  51. package/dist/src/components/panels/LoadingIndicator.vue.d.ts +0 -6
  52. package/dist/src/components/panels/analysis/FloodingPlane.vue.d.ts +0 -2
  53. package/dist/src/services/AnalysisManager.d.ts +0 -10
  54. package/dist/src/services/analysis/CrossSectionManager.d.ts +0 -9
  55. package/dist/src/services/analysis/FloodingPlaneManager.d.ts +0 -11
  56. package/dist/src/stores/statistics.d.ts +0 -8
  57. /package/dist/src/{components/panels/analysis → modules/clippingBoxAnalysis}/ClippingBox.vue.d.ts +0 -0
  58. /package/dist/src/{components/panels/analysis → modules/crossSectionAnalysis}/CrossSection.vue.d.ts +0 -0
  59. /package/dist/src/{components/panels/analysis/Statistics.vue.d.ts → modules/floodingPlaneAnalysis/FloodingPlane.vue.d.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ import { PieroContext } from '../../context';
2
+ export default class CrossSectionManager {
3
+ private readonly context;
4
+ private readonly _store;
5
+ constructor(context: PieroContext);
6
+ dispose(): void;
7
+ private updateCrossSection;
8
+ }
@@ -0,0 +1,522 @@
1
+ import { Vector3 } from '../../../../../node_modules/three';
2
+ export declare const useCrossSectionStore: import('pinia').StoreDefinition<"crossSection", Pick<{
3
+ center: import('vue').Ref<{
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ readonly isVector3: true;
8
+ set: (x: number, y: number, z: number) => Vector3;
9
+ setScalar: (scalar: number) => Vector3;
10
+ setX: (x: number) => Vector3;
11
+ setY: (y: number) => Vector3;
12
+ setZ: (z: number) => Vector3;
13
+ setComponent: (index: number, value: number) => Vector3;
14
+ getComponent: (index: number) => number;
15
+ clone: () => Vector3;
16
+ copy: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
17
+ add: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
18
+ addScalar: (s: number) => Vector3;
19
+ addVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
20
+ addScaledVector: (v: Vector3, s: number) => Vector3;
21
+ sub: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
22
+ subScalar: (s: number) => Vector3;
23
+ subVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
24
+ multiply: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
25
+ multiplyScalar: (s: number) => Vector3;
26
+ multiplyVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
27
+ applyEuler: (euler: import('../../../../../node_modules/three').Euler) => Vector3;
28
+ applyAxisAngle: (axis: Vector3, angle: number) => Vector3;
29
+ applyMatrix3: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
30
+ applyNormalMatrix: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
31
+ applyMatrix4: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
32
+ applyQuaternion: (q: import('../../../../../node_modules/three').QuaternionLike) => Vector3;
33
+ project: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
34
+ unproject: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
35
+ transformDirection: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
36
+ divide: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
37
+ divideScalar: (s: number) => Vector3;
38
+ min: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
39
+ max: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
40
+ clamp: (min: import('../../../../../node_modules/three').Vector3Like, max: import('../../../../../node_modules/three').Vector3Like) => Vector3;
41
+ clampScalar: (min: number, max: number) => Vector3;
42
+ clampLength: (min: number, max: number) => Vector3;
43
+ floor: () => Vector3;
44
+ ceil: () => Vector3;
45
+ round: () => Vector3;
46
+ roundToZero: () => Vector3;
47
+ negate: () => Vector3;
48
+ dot: (v: import('../../../../../node_modules/three').Vector3Like) => number;
49
+ lengthSq: () => number;
50
+ length: () => number;
51
+ manhattanLength: () => number;
52
+ normalize: () => Vector3;
53
+ setLength: (l: number) => Vector3;
54
+ lerp: (v: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
55
+ lerpVectors: (v1: import('../../../../../node_modules/three').Vector3Like, v2: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
56
+ cross: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
57
+ crossVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
58
+ projectOnVector: (v: Vector3) => Vector3;
59
+ projectOnPlane: (planeNormal: Vector3) => Vector3;
60
+ reflect: (vector: import('../../../../../node_modules/three').Vector3Like) => Vector3;
61
+ angleTo: (v: Vector3) => number;
62
+ distanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
63
+ distanceToSquared: (v: import('../../../../../node_modules/three').Vector3Like) => number;
64
+ manhattanDistanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
65
+ setFromSpherical: (s: import('../../../../../node_modules/three').Spherical) => Vector3;
66
+ setFromSphericalCoords: (r: number, phi: number, theta: number) => Vector3;
67
+ setFromCylindrical: (s: import('../../../../../node_modules/three').Cylindrical) => Vector3;
68
+ setFromCylindricalCoords: (radius: number, theta: number, y: number) => Vector3;
69
+ setFromMatrixPosition: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
70
+ setFromMatrixScale: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
71
+ setFromMatrixColumn: (matrix: import('../../../../../node_modules/three').Matrix4, index: number) => Vector3;
72
+ setFromMatrix3Column: (matrix: import('../../../../../node_modules/three').Matrix3, index: number) => Vector3;
73
+ setFromEuler: (e: import('../../../../../node_modules/three').Euler) => Vector3;
74
+ setFromColor: (color: import('../../../../../node_modules/three').RGB) => Vector3;
75
+ equals: (v: import('../../../../../node_modules/three').Vector3Like) => boolean;
76
+ fromArray: (array: number[] | ArrayLike<number>, offset?: number) => Vector3;
77
+ toArray: {
78
+ (array?: number[], offset?: number): number[];
79
+ (array?: import('../../../../../node_modules/three').Vector3Tuple, offset?: 0): import('../../../../../node_modules/three').Vector3Tuple;
80
+ (array: ArrayLike<number>, offset?: number): ArrayLike<number>;
81
+ };
82
+ fromBufferAttribute: (attribute: import('../../../../../node_modules/three').BufferAttribute | import('../../../../../node_modules/three').InterleavedBufferAttribute, index: number) => Vector3;
83
+ random: () => Vector3;
84
+ randomDirection: () => Vector3;
85
+ [Symbol.iterator]: () => Iterator<number>;
86
+ }, Vector3 | {
87
+ x: number;
88
+ y: number;
89
+ z: number;
90
+ readonly isVector3: true;
91
+ set: (x: number, y: number, z: number) => Vector3;
92
+ setScalar: (scalar: number) => Vector3;
93
+ setX: (x: number) => Vector3;
94
+ setY: (y: number) => Vector3;
95
+ setZ: (z: number) => Vector3;
96
+ setComponent: (index: number, value: number) => Vector3;
97
+ getComponent: (index: number) => number;
98
+ clone: () => Vector3;
99
+ copy: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
100
+ add: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
101
+ addScalar: (s: number) => Vector3;
102
+ addVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
103
+ addScaledVector: (v: Vector3, s: number) => Vector3;
104
+ sub: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
105
+ subScalar: (s: number) => Vector3;
106
+ subVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
107
+ multiply: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
108
+ multiplyScalar: (s: number) => Vector3;
109
+ multiplyVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
110
+ applyEuler: (euler: import('../../../../../node_modules/three').Euler) => Vector3;
111
+ applyAxisAngle: (axis: Vector3, angle: number) => Vector3;
112
+ applyMatrix3: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
113
+ applyNormalMatrix: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
114
+ applyMatrix4: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
115
+ applyQuaternion: (q: import('../../../../../node_modules/three').QuaternionLike) => Vector3;
116
+ project: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
117
+ unproject: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
118
+ transformDirection: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
119
+ divide: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
120
+ divideScalar: (s: number) => Vector3;
121
+ min: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
122
+ max: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
123
+ clamp: (min: import('../../../../../node_modules/three').Vector3Like, max: import('../../../../../node_modules/three').Vector3Like) => Vector3;
124
+ clampScalar: (min: number, max: number) => Vector3;
125
+ clampLength: (min: number, max: number) => Vector3;
126
+ floor: () => Vector3;
127
+ ceil: () => Vector3;
128
+ round: () => Vector3;
129
+ roundToZero: () => Vector3;
130
+ negate: () => Vector3;
131
+ dot: (v: import('../../../../../node_modules/three').Vector3Like) => number;
132
+ lengthSq: () => number;
133
+ length: () => number;
134
+ manhattanLength: () => number;
135
+ normalize: () => Vector3;
136
+ setLength: (l: number) => Vector3;
137
+ lerp: (v: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
138
+ lerpVectors: (v1: import('../../../../../node_modules/three').Vector3Like, v2: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
139
+ cross: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
140
+ crossVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
141
+ projectOnVector: (v: Vector3) => Vector3;
142
+ projectOnPlane: (planeNormal: Vector3) => Vector3;
143
+ reflect: (vector: import('../../../../../node_modules/three').Vector3Like) => Vector3;
144
+ angleTo: (v: Vector3) => number;
145
+ distanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
146
+ distanceToSquared: (v: import('../../../../../node_modules/three').Vector3Like) => number;
147
+ manhattanDistanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
148
+ setFromSpherical: (s: import('../../../../../node_modules/three').Spherical) => Vector3;
149
+ setFromSphericalCoords: (r: number, phi: number, theta: number) => Vector3;
150
+ setFromCylindrical: (s: import('../../../../../node_modules/three').Cylindrical) => Vector3;
151
+ setFromCylindricalCoords: (radius: number, theta: number, y: number) => Vector3;
152
+ setFromMatrixPosition: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
153
+ setFromMatrixScale: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
154
+ setFromMatrixColumn: (matrix: import('../../../../../node_modules/three').Matrix4, index: number) => Vector3;
155
+ setFromMatrix3Column: (matrix: import('../../../../../node_modules/three').Matrix3, index: number) => Vector3;
156
+ setFromEuler: (e: import('../../../../../node_modules/three').Euler) => Vector3;
157
+ setFromColor: (color: import('../../../../../node_modules/three').RGB) => Vector3;
158
+ equals: (v: import('../../../../../node_modules/three').Vector3Like) => boolean;
159
+ fromArray: (array: number[] | ArrayLike<number>, offset?: number) => Vector3;
160
+ toArray: {
161
+ (array?: number[], offset?: number): number[];
162
+ (array?: import('../../../../../node_modules/three').Vector3Tuple, offset?: 0): import('../../../../../node_modules/three').Vector3Tuple;
163
+ (array: ArrayLike<number>, offset?: number): ArrayLike<number>;
164
+ };
165
+ fromBufferAttribute: (attribute: import('../../../../../node_modules/three').BufferAttribute | import('../../../../../node_modules/three').InterleavedBufferAttribute, index: number) => Vector3;
166
+ random: () => Vector3;
167
+ randomDirection: () => Vector3;
168
+ [Symbol.iterator]: () => Iterator<number>;
169
+ }>;
170
+ enable: import('vue').Ref<boolean, boolean>;
171
+ orientation: import('vue').Ref<number, number>;
172
+ setCenter: (v: Vector3) => void;
173
+ setEnabled: (v: boolean) => void;
174
+ setOrientation: (v: number) => void;
175
+ }, "center" | "enable" | "orientation">, Pick<{
176
+ center: import('vue').Ref<{
177
+ x: number;
178
+ y: number;
179
+ z: number;
180
+ readonly isVector3: true;
181
+ set: (x: number, y: number, z: number) => Vector3;
182
+ setScalar: (scalar: number) => Vector3;
183
+ setX: (x: number) => Vector3;
184
+ setY: (y: number) => Vector3;
185
+ setZ: (z: number) => Vector3;
186
+ setComponent: (index: number, value: number) => Vector3;
187
+ getComponent: (index: number) => number;
188
+ clone: () => Vector3;
189
+ copy: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
190
+ add: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
191
+ addScalar: (s: number) => Vector3;
192
+ addVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
193
+ addScaledVector: (v: Vector3, s: number) => Vector3;
194
+ sub: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
195
+ subScalar: (s: number) => Vector3;
196
+ subVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
197
+ multiply: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
198
+ multiplyScalar: (s: number) => Vector3;
199
+ multiplyVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
200
+ applyEuler: (euler: import('../../../../../node_modules/three').Euler) => Vector3;
201
+ applyAxisAngle: (axis: Vector3, angle: number) => Vector3;
202
+ applyMatrix3: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
203
+ applyNormalMatrix: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
204
+ applyMatrix4: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
205
+ applyQuaternion: (q: import('../../../../../node_modules/three').QuaternionLike) => Vector3;
206
+ project: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
207
+ unproject: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
208
+ transformDirection: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
209
+ divide: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
210
+ divideScalar: (s: number) => Vector3;
211
+ min: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
212
+ max: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
213
+ clamp: (min: import('../../../../../node_modules/three').Vector3Like, max: import('../../../../../node_modules/three').Vector3Like) => Vector3;
214
+ clampScalar: (min: number, max: number) => Vector3;
215
+ clampLength: (min: number, max: number) => Vector3;
216
+ floor: () => Vector3;
217
+ ceil: () => Vector3;
218
+ round: () => Vector3;
219
+ roundToZero: () => Vector3;
220
+ negate: () => Vector3;
221
+ dot: (v: import('../../../../../node_modules/three').Vector3Like) => number;
222
+ lengthSq: () => number;
223
+ length: () => number;
224
+ manhattanLength: () => number;
225
+ normalize: () => Vector3;
226
+ setLength: (l: number) => Vector3;
227
+ lerp: (v: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
228
+ lerpVectors: (v1: import('../../../../../node_modules/three').Vector3Like, v2: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
229
+ cross: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
230
+ crossVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
231
+ projectOnVector: (v: Vector3) => Vector3;
232
+ projectOnPlane: (planeNormal: Vector3) => Vector3;
233
+ reflect: (vector: import('../../../../../node_modules/three').Vector3Like) => Vector3;
234
+ angleTo: (v: Vector3) => number;
235
+ distanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
236
+ distanceToSquared: (v: import('../../../../../node_modules/three').Vector3Like) => number;
237
+ manhattanDistanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
238
+ setFromSpherical: (s: import('../../../../../node_modules/three').Spherical) => Vector3;
239
+ setFromSphericalCoords: (r: number, phi: number, theta: number) => Vector3;
240
+ setFromCylindrical: (s: import('../../../../../node_modules/three').Cylindrical) => Vector3;
241
+ setFromCylindricalCoords: (radius: number, theta: number, y: number) => Vector3;
242
+ setFromMatrixPosition: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
243
+ setFromMatrixScale: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
244
+ setFromMatrixColumn: (matrix: import('../../../../../node_modules/three').Matrix4, index: number) => Vector3;
245
+ setFromMatrix3Column: (matrix: import('../../../../../node_modules/three').Matrix3, index: number) => Vector3;
246
+ setFromEuler: (e: import('../../../../../node_modules/three').Euler) => Vector3;
247
+ setFromColor: (color: import('../../../../../node_modules/three').RGB) => Vector3;
248
+ equals: (v: import('../../../../../node_modules/three').Vector3Like) => boolean;
249
+ fromArray: (array: number[] | ArrayLike<number>, offset?: number) => Vector3;
250
+ toArray: {
251
+ (array?: number[], offset?: number): number[];
252
+ (array?: import('../../../../../node_modules/three').Vector3Tuple, offset?: 0): import('../../../../../node_modules/three').Vector3Tuple;
253
+ (array: ArrayLike<number>, offset?: number): ArrayLike<number>;
254
+ };
255
+ fromBufferAttribute: (attribute: import('../../../../../node_modules/three').BufferAttribute | import('../../../../../node_modules/three').InterleavedBufferAttribute, index: number) => Vector3;
256
+ random: () => Vector3;
257
+ randomDirection: () => Vector3;
258
+ [Symbol.iterator]: () => Iterator<number>;
259
+ }, Vector3 | {
260
+ x: number;
261
+ y: number;
262
+ z: number;
263
+ readonly isVector3: true;
264
+ set: (x: number, y: number, z: number) => Vector3;
265
+ setScalar: (scalar: number) => Vector3;
266
+ setX: (x: number) => Vector3;
267
+ setY: (y: number) => Vector3;
268
+ setZ: (z: number) => Vector3;
269
+ setComponent: (index: number, value: number) => Vector3;
270
+ getComponent: (index: number) => number;
271
+ clone: () => Vector3;
272
+ copy: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
273
+ add: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
274
+ addScalar: (s: number) => Vector3;
275
+ addVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
276
+ addScaledVector: (v: Vector3, s: number) => Vector3;
277
+ sub: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
278
+ subScalar: (s: number) => Vector3;
279
+ subVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
280
+ multiply: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
281
+ multiplyScalar: (s: number) => Vector3;
282
+ multiplyVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
283
+ applyEuler: (euler: import('../../../../../node_modules/three').Euler) => Vector3;
284
+ applyAxisAngle: (axis: Vector3, angle: number) => Vector3;
285
+ applyMatrix3: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
286
+ applyNormalMatrix: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
287
+ applyMatrix4: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
288
+ applyQuaternion: (q: import('../../../../../node_modules/three').QuaternionLike) => Vector3;
289
+ project: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
290
+ unproject: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
291
+ transformDirection: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
292
+ divide: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
293
+ divideScalar: (s: number) => Vector3;
294
+ min: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
295
+ max: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
296
+ clamp: (min: import('../../../../../node_modules/three').Vector3Like, max: import('../../../../../node_modules/three').Vector3Like) => Vector3;
297
+ clampScalar: (min: number, max: number) => Vector3;
298
+ clampLength: (min: number, max: number) => Vector3;
299
+ floor: () => Vector3;
300
+ ceil: () => Vector3;
301
+ round: () => Vector3;
302
+ roundToZero: () => Vector3;
303
+ negate: () => Vector3;
304
+ dot: (v: import('../../../../../node_modules/three').Vector3Like) => number;
305
+ lengthSq: () => number;
306
+ length: () => number;
307
+ manhattanLength: () => number;
308
+ normalize: () => Vector3;
309
+ setLength: (l: number) => Vector3;
310
+ lerp: (v: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
311
+ lerpVectors: (v1: import('../../../../../node_modules/three').Vector3Like, v2: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
312
+ cross: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
313
+ crossVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
314
+ projectOnVector: (v: Vector3) => Vector3;
315
+ projectOnPlane: (planeNormal: Vector3) => Vector3;
316
+ reflect: (vector: import('../../../../../node_modules/three').Vector3Like) => Vector3;
317
+ angleTo: (v: Vector3) => number;
318
+ distanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
319
+ distanceToSquared: (v: import('../../../../../node_modules/three').Vector3Like) => number;
320
+ manhattanDistanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
321
+ setFromSpherical: (s: import('../../../../../node_modules/three').Spherical) => Vector3;
322
+ setFromSphericalCoords: (r: number, phi: number, theta: number) => Vector3;
323
+ setFromCylindrical: (s: import('../../../../../node_modules/three').Cylindrical) => Vector3;
324
+ setFromCylindricalCoords: (radius: number, theta: number, y: number) => Vector3;
325
+ setFromMatrixPosition: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
326
+ setFromMatrixScale: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
327
+ setFromMatrixColumn: (matrix: import('../../../../../node_modules/three').Matrix4, index: number) => Vector3;
328
+ setFromMatrix3Column: (matrix: import('../../../../../node_modules/three').Matrix3, index: number) => Vector3;
329
+ setFromEuler: (e: import('../../../../../node_modules/three').Euler) => Vector3;
330
+ setFromColor: (color: import('../../../../../node_modules/three').RGB) => Vector3;
331
+ equals: (v: import('../../../../../node_modules/three').Vector3Like) => boolean;
332
+ fromArray: (array: number[] | ArrayLike<number>, offset?: number) => Vector3;
333
+ toArray: {
334
+ (array?: number[], offset?: number): number[];
335
+ (array?: import('../../../../../node_modules/three').Vector3Tuple, offset?: 0): import('../../../../../node_modules/three').Vector3Tuple;
336
+ (array: ArrayLike<number>, offset?: number): ArrayLike<number>;
337
+ };
338
+ fromBufferAttribute: (attribute: import('../../../../../node_modules/three').BufferAttribute | import('../../../../../node_modules/three').InterleavedBufferAttribute, index: number) => Vector3;
339
+ random: () => Vector3;
340
+ randomDirection: () => Vector3;
341
+ [Symbol.iterator]: () => Iterator<number>;
342
+ }>;
343
+ enable: import('vue').Ref<boolean, boolean>;
344
+ orientation: import('vue').Ref<number, number>;
345
+ setCenter: (v: Vector3) => void;
346
+ setEnabled: (v: boolean) => void;
347
+ setOrientation: (v: number) => void;
348
+ }, never>, Pick<{
349
+ center: import('vue').Ref<{
350
+ x: number;
351
+ y: number;
352
+ z: number;
353
+ readonly isVector3: true;
354
+ set: (x: number, y: number, z: number) => Vector3;
355
+ setScalar: (scalar: number) => Vector3;
356
+ setX: (x: number) => Vector3;
357
+ setY: (y: number) => Vector3;
358
+ setZ: (z: number) => Vector3;
359
+ setComponent: (index: number, value: number) => Vector3;
360
+ getComponent: (index: number) => number;
361
+ clone: () => Vector3;
362
+ copy: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
363
+ add: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
364
+ addScalar: (s: number) => Vector3;
365
+ addVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
366
+ addScaledVector: (v: Vector3, s: number) => Vector3;
367
+ sub: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
368
+ subScalar: (s: number) => Vector3;
369
+ subVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
370
+ multiply: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
371
+ multiplyScalar: (s: number) => Vector3;
372
+ multiplyVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
373
+ applyEuler: (euler: import('../../../../../node_modules/three').Euler) => Vector3;
374
+ applyAxisAngle: (axis: Vector3, angle: number) => Vector3;
375
+ applyMatrix3: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
376
+ applyNormalMatrix: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
377
+ applyMatrix4: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
378
+ applyQuaternion: (q: import('../../../../../node_modules/three').QuaternionLike) => Vector3;
379
+ project: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
380
+ unproject: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
381
+ transformDirection: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
382
+ divide: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
383
+ divideScalar: (s: number) => Vector3;
384
+ min: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
385
+ max: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
386
+ clamp: (min: import('../../../../../node_modules/three').Vector3Like, max: import('../../../../../node_modules/three').Vector3Like) => Vector3;
387
+ clampScalar: (min: number, max: number) => Vector3;
388
+ clampLength: (min: number, max: number) => Vector3;
389
+ floor: () => Vector3;
390
+ ceil: () => Vector3;
391
+ round: () => Vector3;
392
+ roundToZero: () => Vector3;
393
+ negate: () => Vector3;
394
+ dot: (v: import('../../../../../node_modules/three').Vector3Like) => number;
395
+ lengthSq: () => number;
396
+ length: () => number;
397
+ manhattanLength: () => number;
398
+ normalize: () => Vector3;
399
+ setLength: (l: number) => Vector3;
400
+ lerp: (v: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
401
+ lerpVectors: (v1: import('../../../../../node_modules/three').Vector3Like, v2: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
402
+ cross: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
403
+ crossVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
404
+ projectOnVector: (v: Vector3) => Vector3;
405
+ projectOnPlane: (planeNormal: Vector3) => Vector3;
406
+ reflect: (vector: import('../../../../../node_modules/three').Vector3Like) => Vector3;
407
+ angleTo: (v: Vector3) => number;
408
+ distanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
409
+ distanceToSquared: (v: import('../../../../../node_modules/three').Vector3Like) => number;
410
+ manhattanDistanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
411
+ setFromSpherical: (s: import('../../../../../node_modules/three').Spherical) => Vector3;
412
+ setFromSphericalCoords: (r: number, phi: number, theta: number) => Vector3;
413
+ setFromCylindrical: (s: import('../../../../../node_modules/three').Cylindrical) => Vector3;
414
+ setFromCylindricalCoords: (radius: number, theta: number, y: number) => Vector3;
415
+ setFromMatrixPosition: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
416
+ setFromMatrixScale: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
417
+ setFromMatrixColumn: (matrix: import('../../../../../node_modules/three').Matrix4, index: number) => Vector3;
418
+ setFromMatrix3Column: (matrix: import('../../../../../node_modules/three').Matrix3, index: number) => Vector3;
419
+ setFromEuler: (e: import('../../../../../node_modules/three').Euler) => Vector3;
420
+ setFromColor: (color: import('../../../../../node_modules/three').RGB) => Vector3;
421
+ equals: (v: import('../../../../../node_modules/three').Vector3Like) => boolean;
422
+ fromArray: (array: number[] | ArrayLike<number>, offset?: number) => Vector3;
423
+ toArray: {
424
+ (array?: number[], offset?: number): number[];
425
+ (array?: import('../../../../../node_modules/three').Vector3Tuple, offset?: 0): import('../../../../../node_modules/three').Vector3Tuple;
426
+ (array: ArrayLike<number>, offset?: number): ArrayLike<number>;
427
+ };
428
+ fromBufferAttribute: (attribute: import('../../../../../node_modules/three').BufferAttribute | import('../../../../../node_modules/three').InterleavedBufferAttribute, index: number) => Vector3;
429
+ random: () => Vector3;
430
+ randomDirection: () => Vector3;
431
+ [Symbol.iterator]: () => Iterator<number>;
432
+ }, Vector3 | {
433
+ x: number;
434
+ y: number;
435
+ z: number;
436
+ readonly isVector3: true;
437
+ set: (x: number, y: number, z: number) => Vector3;
438
+ setScalar: (scalar: number) => Vector3;
439
+ setX: (x: number) => Vector3;
440
+ setY: (y: number) => Vector3;
441
+ setZ: (z: number) => Vector3;
442
+ setComponent: (index: number, value: number) => Vector3;
443
+ getComponent: (index: number) => number;
444
+ clone: () => Vector3;
445
+ copy: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
446
+ add: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
447
+ addScalar: (s: number) => Vector3;
448
+ addVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
449
+ addScaledVector: (v: Vector3, s: number) => Vector3;
450
+ sub: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
451
+ subScalar: (s: number) => Vector3;
452
+ subVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
453
+ multiply: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
454
+ multiplyScalar: (s: number) => Vector3;
455
+ multiplyVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
456
+ applyEuler: (euler: import('../../../../../node_modules/three').Euler) => Vector3;
457
+ applyAxisAngle: (axis: Vector3, angle: number) => Vector3;
458
+ applyMatrix3: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
459
+ applyNormalMatrix: (m: import('../../../../../node_modules/three').Matrix3) => Vector3;
460
+ applyMatrix4: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
461
+ applyQuaternion: (q: import('../../../../../node_modules/three').QuaternionLike) => Vector3;
462
+ project: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
463
+ unproject: (camera: import('../../../../../node_modules/three').Camera) => Vector3;
464
+ transformDirection: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
465
+ divide: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
466
+ divideScalar: (s: number) => Vector3;
467
+ min: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
468
+ max: (v: import('../../../../../node_modules/three').Vector3Like) => Vector3;
469
+ clamp: (min: import('../../../../../node_modules/three').Vector3Like, max: import('../../../../../node_modules/three').Vector3Like) => Vector3;
470
+ clampScalar: (min: number, max: number) => Vector3;
471
+ clampLength: (min: number, max: number) => Vector3;
472
+ floor: () => Vector3;
473
+ ceil: () => Vector3;
474
+ round: () => Vector3;
475
+ roundToZero: () => Vector3;
476
+ negate: () => Vector3;
477
+ dot: (v: import('../../../../../node_modules/three').Vector3Like) => number;
478
+ lengthSq: () => number;
479
+ length: () => number;
480
+ manhattanLength: () => number;
481
+ normalize: () => Vector3;
482
+ setLength: (l: number) => Vector3;
483
+ lerp: (v: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
484
+ lerpVectors: (v1: import('../../../../../node_modules/three').Vector3Like, v2: import('../../../../../node_modules/three').Vector3Like, alpha: number) => Vector3;
485
+ cross: (a: import('../../../../../node_modules/three').Vector3Like) => Vector3;
486
+ crossVectors: (a: import('../../../../../node_modules/three').Vector3Like, b: import('../../../../../node_modules/three').Vector3Like) => Vector3;
487
+ projectOnVector: (v: Vector3) => Vector3;
488
+ projectOnPlane: (planeNormal: Vector3) => Vector3;
489
+ reflect: (vector: import('../../../../../node_modules/three').Vector3Like) => Vector3;
490
+ angleTo: (v: Vector3) => number;
491
+ distanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
492
+ distanceToSquared: (v: import('../../../../../node_modules/three').Vector3Like) => number;
493
+ manhattanDistanceTo: (v: import('../../../../../node_modules/three').Vector3Like) => number;
494
+ setFromSpherical: (s: import('../../../../../node_modules/three').Spherical) => Vector3;
495
+ setFromSphericalCoords: (r: number, phi: number, theta: number) => Vector3;
496
+ setFromCylindrical: (s: import('../../../../../node_modules/three').Cylindrical) => Vector3;
497
+ setFromCylindricalCoords: (radius: number, theta: number, y: number) => Vector3;
498
+ setFromMatrixPosition: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
499
+ setFromMatrixScale: (m: import('../../../../../node_modules/three').Matrix4) => Vector3;
500
+ setFromMatrixColumn: (matrix: import('../../../../../node_modules/three').Matrix4, index: number) => Vector3;
501
+ setFromMatrix3Column: (matrix: import('../../../../../node_modules/three').Matrix3, index: number) => Vector3;
502
+ setFromEuler: (e: import('../../../../../node_modules/three').Euler) => Vector3;
503
+ setFromColor: (color: import('../../../../../node_modules/three').RGB) => Vector3;
504
+ equals: (v: import('../../../../../node_modules/three').Vector3Like) => boolean;
505
+ fromArray: (array: number[] | ArrayLike<number>, offset?: number) => Vector3;
506
+ toArray: {
507
+ (array?: number[], offset?: number): number[];
508
+ (array?: import('../../../../../node_modules/three').Vector3Tuple, offset?: 0): import('../../../../../node_modules/three').Vector3Tuple;
509
+ (array: ArrayLike<number>, offset?: number): ArrayLike<number>;
510
+ };
511
+ fromBufferAttribute: (attribute: import('../../../../../node_modules/three').BufferAttribute | import('../../../../../node_modules/three').InterleavedBufferAttribute, index: number) => Vector3;
512
+ random: () => Vector3;
513
+ randomDirection: () => Vector3;
514
+ [Symbol.iterator]: () => Iterator<number>;
515
+ }>;
516
+ enable: import('vue').Ref<boolean, boolean>;
517
+ orientation: import('vue').Ref<number, number>;
518
+ setCenter: (v: Vector3) => void;
519
+ setEnabled: (v: boolean) => void;
520
+ setOrientation: (v: number) => void;
521
+ }, "setCenter" | "setEnabled" | "setOrientation">>;
522
+ export type CrossSectionStore = ReturnType<typeof useCrossSectionStore>;
@@ -0,0 +1,9 @@
1
+ import { PieroContext } from '../../context';
2
+ export default class FloodingPlaneManager {
3
+ private readonly _context;
4
+ private _plane;
5
+ private readonly _store;
6
+ constructor(context: PieroContext);
7
+ dispose(): void;
8
+ private updatePlane;
9
+ }
@@ -1,5 +1,5 @@
1
- import { Mesh, MeshBasicMaterial, PlaneGeometry } from '../../../../node_modules/three';
2
- export default class FloodingPlane {
1
+ import { Mesh, MeshBasicMaterial, PlaneGeometry } from '../../../../../node_modules/three';
2
+ export default class FloodingPlaneObject {
3
3
  geometry: PlaneGeometry;
4
4
  material: MeshBasicMaterial;
5
5
  object3D: Mesh<PlaneGeometry, MeshBasicMaterial>;
@@ -0,0 +1,16 @@
1
+ export declare const useFloodingPlaneStore: import('pinia').StoreDefinition<"floodingPlane", Pick<{
2
+ enable: import('vue').Ref<boolean, boolean>;
3
+ getHeight: () => number;
4
+ setEnabled: (v: boolean) => void;
5
+ setHeight: (v: number) => void;
6
+ }, "enable">, Pick<{
7
+ enable: import('vue').Ref<boolean, boolean>;
8
+ getHeight: () => number;
9
+ setEnabled: (v: boolean) => void;
10
+ setHeight: (v: number) => void;
11
+ }, never>, Pick<{
12
+ enable: import('vue').Ref<boolean, boolean>;
13
+ getHeight: () => number;
14
+ setEnabled: (v: boolean) => void;
15
+ setHeight: (v: number) => void;
16
+ }, "setEnabled" | "getHeight" | "setHeight">>;
@@ -1,5 +1,9 @@
1
+ import { default as ClippingBoxAnalysis } from './ClippingBoxAnalysis';
2
+ import { default as CrossSectionAnalysis } from './CrossSectionAnalysis';
3
+ import { default as DownloadDataset } from './DownloadDataset';
4
+ import { default as FloodingPlaneAnalysis } from './FloodingPlaneAnalysis';
1
5
  import { default as IFCLoader } from './IFCLoader';
2
6
  import { default as PLYLoader } from './PLYLoader';
3
7
  import { default as PotreeLoader } from './PotreeLoader';
4
8
  import { default as Tour } from './Tour';
5
- export { IFCLoader, PLYLoader, PotreeLoader, Tour };
9
+ export { ClippingBoxAnalysis, CrossSectionAnalysis, DownloadDataset, FloodingPlaneAnalysis, IFCLoader, PLYLoader, PotreeLoader, Tour, };
@@ -1,6 +1,5 @@
1
1
  import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
2
  import { Object3D, AmbientLight, Box3, DirectionalLight, EventDispatcher } from '../../../../node_modules/three';
3
- import { default as AnalysisManager } from './AnalysisManager';
4
3
  import { default as AnnotationManager } from './AnnotationManager';
5
4
  import { default as CameraController } from './CameraController';
6
5
  import { default as DatasetManager } from './DatasetManager';
@@ -13,7 +12,6 @@ type Giro3DManagerEventMap = {
13
12
  };
14
13
  export default class Giro3DManager extends EventDispatcher<Giro3DManagerEventMap> {
15
14
  readonly ambientLight: AmbientLight;
16
- readonly analysisManager: AnalysisManager;
17
15
  readonly annotationManager: AnnotationManager;
18
16
  readonly camera: CameraController;
19
17
  readonly datasetManager: DatasetManager;
@@ -9,7 +9,7 @@ import { Attribute, AttributesGroups, default as Feature } from '../types/Featur
9
9
  export type AttributeExtractorFn<T extends PickResult = PickResult> = (pickResult: T, attributesGroups: AttributesGroups) => void;
10
10
  export declare const customAttributeExtractors: AttributeExtractorFn[];
11
11
  export default class Picker {
12
- private readonly _analysisStore;
12
+ private readonly _moduleStore;
13
13
  getFeatureFromPickedObject(pickedObject: PickResult): Feature | null;
14
14
  getFirstFeatureAt(instance: Instance, e: MouseEvent, radius?: number, filterOnObjects?: (obj: Entity | Object3D) => boolean): PickResult[] | null;
15
15
  getGeometryAttributes(object: Object3D, attributes: Array<Attribute>): void;