@giro3d/piero 1.0.0-beta.3 → 1.0.0-beta.4

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.
@@ -1,8 +1,10 @@
1
1
  import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
2
  import { Box3 } from '../../../../node_modules/three';
3
3
  import { default as CameraController } from '../services/CameraController';
4
+ import { default as SceneCursorManager } from '../services/SceneCursorManager';
4
5
  export default interface ViewApi {
5
6
  getBoundingBox(): Box3;
6
7
  getCameraController(): CameraController;
7
8
  getInstance(): Instance;
9
+ getSceneCursorManager(): SceneCursorManager;
8
10
  }
@@ -0,0 +1,31 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ import { Vector3 } from '../../../../node_modules/three';
3
+ import { default as Coordinates } from '@giro3d/giro3d/core/geographic/Coordinates';
4
+ import { default as SceneCursorManager } from '../services/SceneCursorManager';
5
+ type __VLS_Props = {
6
+ cursorManager?: SceneCursorManager;
7
+ /**
8
+ * The initial value of the coordinates.
9
+ * @defaultValue `(0, 0, 0)`
10
+ */
11
+ initialValue?: Vector3;
12
+ /**
13
+ * The Giro3D instance to perform picking. If undefined, the picking button is hidden.
14
+ */
15
+ instance?: Instance;
16
+ /**
17
+ * The label to display.
18
+ */
19
+ label: string;
20
+ /**
21
+ * Display the Z component ?
22
+ * @defaultValue false
23
+ */
24
+ showZ?: boolean;
25
+ };
26
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
+ "update:coordinates": (value: Coordinates) => any;
28
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ "onUpdate:coordinates"?: ((value: Coordinates) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
31
+ export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -0,0 +1,4 @@
1
+ import { Object3D } from '../../../../../node_modules/three';
2
+ export default class CrossSectionHelper extends Object3D {
3
+ constructor();
4
+ }
@@ -1,8 +1,15 @@
1
1
  import { PieroContext } from '../../context';
2
2
  export default class CrossSectionManager {
3
3
  private readonly context;
4
+ private _clippingPlanes;
5
+ private _helper?;
6
+ private _instance?;
4
7
  private readonly _store;
5
8
  constructor(context: PieroContext);
6
9
  dispose(): void;
10
+ private createHelperIfNecessary;
11
+ private showHelper;
7
12
  private updateCrossSection;
13
+ private updateEntities;
14
+ private updateHelper;
8
15
  }
@@ -1,4 +1,6 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
1
2
  import { Vector3 } from '../../../../../node_modules/three';
3
+ import { default as SceneCursorManager } from '../../services/SceneCursorManager';
2
4
  export declare const useCrossSectionStore: import('pinia').StoreDefinition<"crossSection", Pick<{
3
5
  center: import('vue').Ref<{
4
6
  x: number;
@@ -167,12 +169,18 @@ export declare const useCrossSectionStore: import('pinia').StoreDefinition<"cros
167
169
  randomDirection: () => Vector3;
168
170
  [Symbol.iterator]: () => Iterator<number>;
169
171
  }>;
172
+ cursorManager: import('vue').ShallowRef<SceneCursorManager | undefined, SceneCursorManager | undefined>;
170
173
  enable: import('vue').Ref<boolean, boolean>;
174
+ instance: import('vue').ShallowRef<Instance | undefined, Instance | undefined>;
171
175
  orientation: import('vue').Ref<number, number>;
172
176
  setCenter: (v: Vector3) => void;
177
+ setCursorManager: (v: SceneCursorManager) => void;
173
178
  setEnabled: (v: boolean) => void;
179
+ setInstance: (v: Instance) => void;
174
180
  setOrientation: (v: number) => void;
175
- }, "center" | "enable" | "orientation">, Pick<{
181
+ setShowHelper: (v: boolean) => void;
182
+ showHelper: import('vue').Ref<boolean, boolean>;
183
+ }, "instance" | "center" | "enable" | "orientation" | "cursorManager" | "showHelper">, Pick<{
176
184
  center: import('vue').Ref<{
177
185
  x: number;
178
186
  y: number;
@@ -340,11 +348,17 @@ export declare const useCrossSectionStore: import('pinia').StoreDefinition<"cros
340
348
  randomDirection: () => Vector3;
341
349
  [Symbol.iterator]: () => Iterator<number>;
342
350
  }>;
351
+ cursorManager: import('vue').ShallowRef<SceneCursorManager | undefined, SceneCursorManager | undefined>;
343
352
  enable: import('vue').Ref<boolean, boolean>;
353
+ instance: import('vue').ShallowRef<Instance | undefined, Instance | undefined>;
344
354
  orientation: import('vue').Ref<number, number>;
345
355
  setCenter: (v: Vector3) => void;
356
+ setCursorManager: (v: SceneCursorManager) => void;
346
357
  setEnabled: (v: boolean) => void;
358
+ setInstance: (v: Instance) => void;
347
359
  setOrientation: (v: number) => void;
360
+ setShowHelper: (v: boolean) => void;
361
+ showHelper: import('vue').Ref<boolean, boolean>;
348
362
  }, never>, Pick<{
349
363
  center: import('vue').Ref<{
350
364
  x: number;
@@ -513,10 +527,16 @@ export declare const useCrossSectionStore: import('pinia').StoreDefinition<"cros
513
527
  randomDirection: () => Vector3;
514
528
  [Symbol.iterator]: () => Iterator<number>;
515
529
  }>;
530
+ cursorManager: import('vue').ShallowRef<SceneCursorManager | undefined, SceneCursorManager | undefined>;
516
531
  enable: import('vue').Ref<boolean, boolean>;
532
+ instance: import('vue').ShallowRef<Instance | undefined, Instance | undefined>;
517
533
  orientation: import('vue').Ref<number, number>;
518
534
  setCenter: (v: Vector3) => void;
535
+ setCursorManager: (v: SceneCursorManager) => void;
519
536
  setEnabled: (v: boolean) => void;
537
+ setInstance: (v: Instance) => void;
520
538
  setOrientation: (v: number) => void;
521
- }, "setCenter" | "setEnabled" | "setOrientation">>;
539
+ setShowHelper: (v: boolean) => void;
540
+ showHelper: import('vue').Ref<boolean, boolean>;
541
+ }, "setCenter" | "setEnabled" | "setOrientation" | "setCursorManager" | "setInstance" | "setShowHelper">>;
522
542
  export type CrossSectionStore = ReturnType<typeof useCrossSectionStore>;
@@ -4,6 +4,7 @@ import { default as Entity3D } from '@giro3d/giro3d/entities/Entity3D';
4
4
  import { Object3D, Box3, EventDispatcher, Vector3 } from '../../../../node_modules/three';
5
5
  import { default as CameraPosition } from '../types/CameraPosition';
6
6
  import { default as Picker } from './Picker';
7
+ import { default as SceneCursorManager } from './SceneCursorManager';
7
8
  type CameraControllerEventMap = {
8
9
  'interaction-end': {};
9
10
  'interaction-start': {};
@@ -25,13 +26,12 @@ declare class CameraController extends EventDispatcher<CameraControllerEventMap>
25
26
  private _boundPositionOnMapOnMouseMove;
26
27
  private _cameraControlsInspector;
27
28
  private readonly _clock;
29
+ private readonly _cursorManager;
28
30
  private readonly _giro3dStore;
29
31
  private readonly _instance;
30
32
  private readonly _orbitControls;
31
- private readonly _orbitHelper;
32
33
  private readonly _picker;
33
34
  private readonly _pickObjectsAt;
34
- private readonly _positionOnMapHelper;
35
35
  private readonly _store;
36
36
  /**
37
37
  * Creates new Camera-controls and bind them to Giro3D.
@@ -39,7 +39,7 @@ declare class CameraController extends EventDispatcher<CameraControllerEventMap>
39
39
  * @param instance - Giro3D instance
40
40
  * @param picker - Picker
41
41
  */
42
- constructor(instance: Instance, picker: Picker);
42
+ constructor(instance: Instance, picker: Picker, cursorManager: SceneCursorManager);
43
43
  dispose(): void;
44
44
  /**
45
45
  * Executes an interaction with animation.
@@ -7,6 +7,7 @@ import { default as Highlighter } from './Highlighter';
7
7
  import { default as LayerManager } from './LayerManager';
8
8
  import { default as MeasurementManager } from './MeasurementManager';
9
9
  import { default as Picker } from './Picker';
10
+ import { default as SceneCursorManager } from './SceneCursorManager';
10
11
  type Giro3DManagerEventMap = {
11
12
  update: {};
12
13
  };
@@ -21,6 +22,7 @@ export default class Giro3DManager extends EventDispatcher<Giro3DManagerEventMap
21
22
  readonly mainInstance: Instance;
22
23
  readonly measurementManager: MeasurementManager;
23
24
  readonly picker: Picker;
25
+ readonly sceneCursorManager: SceneCursorManager;
24
26
  private readonly _boundOnFrameEnd;
25
27
  private readonly _store;
26
28
  constructor(instance: Instance);
@@ -0,0 +1,19 @@
1
+ import { default as Instance } from '@giro3d/giro3d/core/Instance';
2
+ import { Vector3 } from '../../../../node_modules/three';
3
+ export type SceneCursorType = 'location' | 'orbit' | 'street';
4
+ /**
5
+ * Handles the display of the cursor in 3D space.
6
+ */
7
+ export default class SceneCursorManager {
8
+ private _currentCursor;
9
+ private readonly _instance;
10
+ private readonly _pickingCursors;
11
+ constructor(instance: Instance);
12
+ /**
13
+ * Sets the cursor.
14
+ * @param cursor - The cursor to use. If `null`, the scene cursor is removed and replaced by a regular cursor.
15
+ */
16
+ setCursor(cursor: SceneCursorType | null): void;
17
+ setCursorLocation(worldPosition: Vector3): void;
18
+ private detachCurrentCursor;
19
+ }
@@ -4,6 +4,7 @@ type Link = {
4
4
  title: string;
5
5
  type?: string;
6
6
  };
7
+ export declare function nonNull<T>(obj: T | null | undefined): T;
7
8
  export declare const isObject: (obj: unknown) => obj is object;
8
9
  export declare const isLink: (obj: unknown) => obj is Link;
9
10
  export declare const isColor: (obj: unknown) => obj is Color;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@giro3d/piero",
3
3
  "type": "module",
4
- "version": "1.0.0-beta.3",
4
+ "version": "1.0.0-beta.4",
5
5
  "description": "A web application for 3D geospatial data visualization, powered by Giro3D",
6
6
  "keywords": [
7
7
  "front-end",