@splnlss/3d-story-viewer 0.6.0 → 0.8.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/README.md +11 -0
- package/build/assets/viewer/{geojson.worker-QNi-d8kU.js → geojson.worker-D3uq_RbR.js} +1 -1
- package/build/assets/viewer/spark-a62bdfe36d20.wasm +0 -0
- package/build/assets/viewer/{spark-worker-5ec8a483b87c.js → spark-worker-c1a6c013b888.js} +194 -43
- package/build/computeElevation.cjs +1 -1
- package/build/computeElevation.js +2 -2
- package/build/index-D87IZDc6.cjs +1 -0
- package/build/{index-CsZhc21b.js → index-Hz3jbrou.js} +1302 -829
- package/build/main-Bdopx4KL.js +15819 -0
- package/build/main-CaYKxosA.cjs +1 -0
- package/build/spark.module-B1FWS-vq.js +18168 -0
- package/build/spark.module-BUdzSHba.cjs +1 -0
- package/build/types/src/viewer/ContentLayer/GaussianSplatLayer.d.ts +4 -6
- package/build/types/src/viewer/ContentLayer/MeshLayer.d.ts +1 -1
- package/build/types/src/viewer/ContentLayer/TilesLayer.d.ts +4 -2
- package/build/types/src/viewer/ContentLayer/gaussianSplatUtils.d.ts +2 -1
- package/build/types/src/viewer/ContentLayer/index.d.ts +5 -3
- package/build/types/src/viewer/EnvironmentControls.d.ts +18 -12
- package/build/types/src/viewer/GlobeControls.d.ts +9 -6
- package/build/types/src/viewer/GlobeManager.d.ts +2 -1
- package/build/types/src/viewer/Sky.d.ts +5 -2
- package/build/types/src/viewer/TransitionControls.d.ts +2 -1
- package/build/types/src/viewer/index.d.ts +55 -19
- package/build/types/src/viewer/keyboardMovement.d.ts +4 -0
- package/build/types/src/viewer/loadSpark.d.ts +1 -0
- package/build/types/src/viewer/mods.d.ts +1 -0
- package/build/types/src/viewer/shaders/chunks.d.ts +1 -0
- package/build/types/src/viewer/surfacePicking.d.ts +31 -0
- package/build/types/src/viewer/utils.d.ts +6 -4
- package/build/types/src/workers/geojson.worker.d.ts +2 -2
- package/build/types/utils/elevation/gltf.d.ts +2 -1
- package/build/viewer.cjs +1 -1
- package/build/viewer.js +5 -28038
- package/package.json +18 -16
- package/build/assets/viewer/spark-8b93f8c03d97.wasm +0 -0
- package/build/assets/viewer/spark-old-worker-932b4a2c87ca.js +0 -8168
- package/build/assets/viewer/spark-worker-015de49d2d00.wasm +0 -0
- package/build/index-wUFLgXbb.cjs +0 -1
|
@@ -7,13 +7,11 @@ export class GaussianSplatLayer extends ContentLayer {
|
|
|
7
7
|
loadState: string;
|
|
8
8
|
loadAttempt: number;
|
|
9
9
|
abortController: AbortController;
|
|
10
|
-
splatMesh:
|
|
11
|
-
|
|
12
|
-
transformMatrix: any;
|
|
10
|
+
splatMesh: any;
|
|
11
|
+
transformMatrix: import("three").Matrix4;
|
|
13
12
|
load(): Promise<void>;
|
|
14
|
-
createPagedMesh():
|
|
15
|
-
createDirectMesh(attempt: any): Promise<
|
|
13
|
+
createPagedMesh(spark: any): any;
|
|
14
|
+
createDirectMesh(spark: any, attempt: any): Promise<any>;
|
|
16
15
|
disposeMesh(mesh: any): void;
|
|
17
16
|
}
|
|
18
17
|
import { ContentLayer } from '.';
|
|
19
|
-
import { SplatMesh } from '@sparkjsdev/spark';
|
|
@@ -4,9 +4,11 @@ export class TilesLayer extends ContentLayer {
|
|
|
4
4
|
firstSet: any;
|
|
5
5
|
camera: any;
|
|
6
6
|
renderer: any;
|
|
7
|
-
dracoLoader:
|
|
8
|
-
ktx2loader:
|
|
7
|
+
dracoLoader: DRACOLoader;
|
|
8
|
+
ktx2loader: KTX2Loader;
|
|
9
9
|
tiles: TilesRenderer<import("3d-tiles-renderer").TilesRendererEventMap>;
|
|
10
10
|
}
|
|
11
11
|
import { ContentLayer } from '.';
|
|
12
|
+
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
13
|
+
import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
|
|
12
14
|
import { TilesRenderer } from '3d-tiles-renderer';
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
export class ContentLayer {
|
|
1
|
+
export class ContentLayer extends Object3D<import("three").Object3DEventMap> {
|
|
2
|
+
constructor();
|
|
2
3
|
type: string;
|
|
3
4
|
isContentLayer: boolean;
|
|
5
|
+
/** @type {string | null} */
|
|
6
|
+
contentLayerId: string | null;
|
|
4
7
|
labels: Set<any>;
|
|
5
8
|
setLabels(labels: any): void;
|
|
6
9
|
setEnabled(enabled: any): void;
|
|
7
|
-
visible: any;
|
|
8
10
|
update(): void;
|
|
9
|
-
dispose(): void;
|
|
10
11
|
disposeObjectResources(root?: this): void;
|
|
11
12
|
}
|
|
13
|
+
import { Object3D } from 'three';
|
|
@@ -3,7 +3,7 @@ export const DRAG: 1;
|
|
|
3
3
|
export const ROTATE: 2;
|
|
4
4
|
export const ZOOM: 3;
|
|
5
5
|
export const WAITING: 4;
|
|
6
|
-
export class EnvironmentControls {
|
|
6
|
+
export class EnvironmentControls extends EventDispatcher<any> {
|
|
7
7
|
constructor(scene?: any, camera?: any, domElement?: any, tilesRenderer?: any);
|
|
8
8
|
set enabled(v: boolean);
|
|
9
9
|
get enabled(): boolean;
|
|
@@ -25,7 +25,7 @@ export class EnvironmentControls {
|
|
|
25
25
|
adjustHeight: boolean;
|
|
26
26
|
enableDamping: boolean;
|
|
27
27
|
dampingFactor: number;
|
|
28
|
-
fallbackPlane:
|
|
28
|
+
fallbackPlane: Plane;
|
|
29
29
|
useFallbackPlane: boolean;
|
|
30
30
|
scaleZoomOrientationAtEdges: boolean;
|
|
31
31
|
autoAdjustCameraRotation: boolean;
|
|
@@ -33,21 +33,21 @@ export class EnvironmentControls {
|
|
|
33
33
|
pointerTracker: any;
|
|
34
34
|
needsUpdate: boolean;
|
|
35
35
|
actionHeightOffset: number;
|
|
36
|
-
pivotPoint:
|
|
36
|
+
pivotPoint: Vector3;
|
|
37
37
|
zoomDirectionSet: boolean;
|
|
38
38
|
zoomPointSet: boolean;
|
|
39
|
-
zoomDirection:
|
|
40
|
-
zoomPoint:
|
|
39
|
+
zoomDirection: Vector3;
|
|
40
|
+
zoomPoint: Vector3;
|
|
41
41
|
zoomDelta: number;
|
|
42
|
-
rotationInertiaPivot:
|
|
43
|
-
rotationInertia:
|
|
44
|
-
dragInertia:
|
|
42
|
+
rotationInertiaPivot: Vector3;
|
|
43
|
+
rotationInertia: Vector2;
|
|
44
|
+
dragInertia: Vector3;
|
|
45
45
|
inertiaTargetDistance: number;
|
|
46
46
|
inertiaStableFrames: number;
|
|
47
47
|
pivotMesh: any;
|
|
48
|
-
raycaster:
|
|
49
|
-
up:
|
|
50
|
-
clock:
|
|
48
|
+
raycaster: Raycaster;
|
|
49
|
+
up: Vector3;
|
|
50
|
+
clock: Clock;
|
|
51
51
|
_detachCallback: () => void;
|
|
52
52
|
_upInitialized: boolean;
|
|
53
53
|
_lastUsedState: number;
|
|
@@ -71,7 +71,7 @@ export class EnvironmentControls {
|
|
|
71
71
|
_updateZoom(): void;
|
|
72
72
|
_updateZoomDirection(): void;
|
|
73
73
|
_updateZoomPoint(): boolean;
|
|
74
|
-
_getPointBelowCamera(point?: any, up?:
|
|
74
|
+
_getPointBelowCamera(point?: any, up?: Vector3): any;
|
|
75
75
|
_updatePosition(deltaTime: any): void;
|
|
76
76
|
_updateRotation(deltaTime: any): void;
|
|
77
77
|
_applyRotation(x: any, y: any, pivotPoint: any): void;
|
|
@@ -80,3 +80,9 @@ export class EnvironmentControls {
|
|
|
80
80
|
_alignCameraUp(up: any, alpha?: number): void;
|
|
81
81
|
_clampRotation(up: any): void;
|
|
82
82
|
}
|
|
83
|
+
import { EventDispatcher } from 'three';
|
|
84
|
+
import { Plane } from 'three';
|
|
85
|
+
import { Vector3 } from 'three';
|
|
86
|
+
import { Vector2 } from 'three';
|
|
87
|
+
import { Raycaster } from 'three';
|
|
88
|
+
import { Clock } from 'three';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export class GlobeControls extends EnvironmentControls {
|
|
2
|
-
get tilesGroup():
|
|
3
|
-
get ellipsoidFrame():
|
|
2
|
+
get tilesGroup(): Matrix4;
|
|
3
|
+
get ellipsoidFrame(): Matrix4;
|
|
4
4
|
get ellipsoidFrameInverse(): any;
|
|
5
5
|
isGlobeControls: boolean;
|
|
6
6
|
_dragMode: number;
|
|
7
7
|
_rotationMode: number;
|
|
8
8
|
nearMargin: number;
|
|
9
9
|
farMargin: number;
|
|
10
|
-
globeInertia:
|
|
10
|
+
globeInertia: Quaternion;
|
|
11
11
|
globeInertiaFactor: number;
|
|
12
12
|
ellipsoid: Ellipsoid;
|
|
13
|
-
ellipsoidGroup:
|
|
14
|
-
_ellipsoidFrameInverse:
|
|
13
|
+
ellipsoidGroup: Group<import("three").Object3DEventMap>;
|
|
14
|
+
_ellipsoidFrameInverse: Matrix4;
|
|
15
15
|
setEllipsoid(ellipsoid: any, ellipsoidGroup: any): void;
|
|
16
16
|
getVectorToCenter(target: any): any;
|
|
17
17
|
getDistanceToCenter(): any;
|
|
@@ -27,4 +27,7 @@ export class GlobeControls extends EnvironmentControls {
|
|
|
27
27
|
_isNearControls(): boolean;
|
|
28
28
|
}
|
|
29
29
|
import { EnvironmentControls } from './EnvironmentControls.js';
|
|
30
|
-
import {
|
|
30
|
+
import { Matrix4 } from 'three';
|
|
31
|
+
import { Quaternion } from 'three';
|
|
32
|
+
import { Ellipsoid } from '3d-tiles-renderer';
|
|
33
|
+
import { Group } from 'three';
|
|
@@ -4,7 +4,7 @@ export class GlobeManager extends EventDispatcher {
|
|
|
4
4
|
camera: any;
|
|
5
5
|
renderer: any;
|
|
6
6
|
tiles: TilesRenderer<import("3d-tiles-renderer").TilesRendererEventMap>;
|
|
7
|
-
dracoLoader:
|
|
7
|
+
dracoLoader: DRACOLoader;
|
|
8
8
|
apiToken: any;
|
|
9
9
|
googleMapsToken: any;
|
|
10
10
|
initTiles(): void;
|
|
@@ -13,3 +13,4 @@ export class GlobeManager extends EventDispatcher {
|
|
|
13
13
|
}
|
|
14
14
|
import { EventDispatcher } from '../modules/EventDispatcher';
|
|
15
15
|
import { TilesRenderer } from '3d-tiles-renderer';
|
|
16
|
+
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export class Sky {
|
|
1
|
+
export class Sky extends Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes, import("three").BufferGeometryEventMap>, import("three").Material<import("three").MaterialEventMap> | import("three").Material<import("three").MaterialEventMap>[], import("three").Object3DEventMap> {
|
|
2
|
+
constructor();
|
|
2
3
|
isSky: boolean;
|
|
3
4
|
type: string;
|
|
4
|
-
material:
|
|
5
|
+
material: ShaderMaterial;
|
|
5
6
|
setSurfaceUp(v: any): void;
|
|
6
7
|
}
|
|
8
|
+
import { Mesh } from 'three';
|
|
9
|
+
import { ShaderMaterial } from 'three';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class TransitionControls extends EventDispatcher {
|
|
2
2
|
constructor(camera: any);
|
|
3
3
|
camera: any;
|
|
4
|
-
lookAt:
|
|
4
|
+
lookAt: Vector3;
|
|
5
5
|
cameraTween: any;
|
|
6
6
|
lookAtTween: any;
|
|
7
7
|
activeTransition: {
|
|
@@ -17,3 +17,4 @@ export class TransitionControls extends EventDispatcher {
|
|
|
17
17
|
cameraUpTween: any;
|
|
18
18
|
}
|
|
19
19
|
import { EventDispatcher } from '../modules/EventDispatcher';
|
|
20
|
+
import { Vector3 } from 'three';
|
|
@@ -24,18 +24,18 @@ declare class Viewer extends EventDispatcher {
|
|
|
24
24
|
isViewer: boolean;
|
|
25
25
|
type: string;
|
|
26
26
|
disposed: boolean;
|
|
27
|
-
sparkRenderer:
|
|
27
|
+
sparkRenderer: any;
|
|
28
28
|
transparentBackground: boolean;
|
|
29
29
|
state: StateDispatcher;
|
|
30
|
-
renderer:
|
|
31
|
-
css2DRenderer:
|
|
32
|
-
clock:
|
|
33
|
-
camera:
|
|
34
|
-
cameraForward:
|
|
35
|
-
cameraRight:
|
|
36
|
-
cameraUp:
|
|
37
|
-
scene:
|
|
38
|
-
content:
|
|
30
|
+
renderer: WebGLRenderer;
|
|
31
|
+
css2DRenderer: CSS2DRenderer;
|
|
32
|
+
clock: Clock;
|
|
33
|
+
camera: PerspectiveCamera;
|
|
34
|
+
cameraForward: Vector3;
|
|
35
|
+
cameraRight: Vector3;
|
|
36
|
+
cameraUp: Vector3;
|
|
37
|
+
scene: Scene<import("three").Object3DEventMap>;
|
|
38
|
+
content: Group<import("three").Object3DEventMap>;
|
|
39
39
|
topLayerIndex: number;
|
|
40
40
|
enabledLayers: any[];
|
|
41
41
|
labels: Map<any, any>;
|
|
@@ -48,9 +48,13 @@ declare class Viewer extends EventDispatcher {
|
|
|
48
48
|
cameraCoords: ViewerCoords;
|
|
49
49
|
/** @type {ViewerCoords} */
|
|
50
50
|
pointerCoords: ViewerCoords;
|
|
51
|
-
pointerXYZ:
|
|
51
|
+
pointerXYZ: Vector3;
|
|
52
52
|
keysDown: {};
|
|
53
|
-
|
|
53
|
+
_keysEnabled: boolean;
|
|
54
|
+
/** Camera-relative translation speed in WGS84 ECEF metres/second. */
|
|
55
|
+
movementSpeed: number;
|
|
56
|
+
/** Dimensionless multiplier while BOOST is held. */
|
|
57
|
+
boostMultiplier: number;
|
|
54
58
|
movementKeys: {
|
|
55
59
|
BOOST: string[];
|
|
56
60
|
FRONT: string[];
|
|
@@ -73,18 +77,23 @@ declare class Viewer extends EventDispatcher {
|
|
|
73
77
|
_onKeyUp: (event: any) => void;
|
|
74
78
|
_onResize: (event: any) => void;
|
|
75
79
|
sky: Sky;
|
|
76
|
-
pointerRaycaster:
|
|
80
|
+
pointerRaycaster: Raycaster;
|
|
77
81
|
_onPointerMove: (event: any) => void;
|
|
82
|
+
set keysEnabled(enabled: boolean);
|
|
83
|
+
get keysEnabled(): boolean;
|
|
78
84
|
updateMovementState(): void;
|
|
79
85
|
/**
|
|
80
86
|
* @param {number} lon
|
|
81
87
|
* @param {number} lat
|
|
82
|
-
* @
|
|
88
|
+
* @param {import('./surfacePicking.js').SurfacePickOptions} [options]
|
|
89
|
+
* @returns {{ lon: number, lat: number, alt: number, source: 'splats' | 'globe' | 'content', layerId: string | null }} WGS84 degrees and ellipsoidal meters, from loaded surfaces only.
|
|
83
90
|
*/
|
|
84
|
-
getElevation(lon: number, lat: number): {
|
|
91
|
+
getElevation(lon: number, lat: number, options?: import("./surfacePicking.js").SurfacePickOptions): {
|
|
85
92
|
lon: number;
|
|
86
93
|
lat: number;
|
|
87
94
|
alt: number;
|
|
95
|
+
source: "splats" | "globe" | "content";
|
|
96
|
+
layerId: string | null;
|
|
88
97
|
};
|
|
89
98
|
/**
|
|
90
99
|
* @param {[number, number, number?][]} coords
|
|
@@ -94,15 +103,16 @@ declare class Viewer extends EventDispatcher {
|
|
|
94
103
|
setBackgroundColor(color: any): void;
|
|
95
104
|
appendTo(container: any): void;
|
|
96
105
|
container: any;
|
|
97
|
-
stats:
|
|
106
|
+
stats: Stats;
|
|
98
107
|
updateCameraDirections(): void;
|
|
99
108
|
setAnimate(bool?: boolean): void;
|
|
100
109
|
/** @param {Event} [event] */
|
|
101
110
|
resizeView(event?: Event): void;
|
|
102
111
|
loadEnv(url: any): Promise<void>;
|
|
103
112
|
clearContentLayers(): void;
|
|
104
|
-
ensureSparkRenderer():
|
|
113
|
+
ensureSparkRenderer(): Promise<any>;
|
|
105
114
|
disposeSparkRenderer(): void;
|
|
115
|
+
sparkRendererGeneration: any;
|
|
106
116
|
/** @param {import('../main.js').ContentLayerDefinition[]} content */
|
|
107
117
|
defineContentLayers(content?: import("../main.js").ContentLayerDefinition[]): void;
|
|
108
118
|
enableContentLayers(labels?: any[]): void;
|
|
@@ -126,7 +136,25 @@ declare class Viewer extends EventDispatcher {
|
|
|
126
136
|
}): HTMLElement;
|
|
127
137
|
animate(time: any): void;
|
|
128
138
|
render(): void;
|
|
129
|
-
|
|
139
|
+
/**
|
|
140
|
+
* Explicit-action raycast; do not call on every pointermove. Returns the nearest
|
|
141
|
+
* loaded surface, not a survey measurement. RAD accuracy depends on streamed LOD.
|
|
142
|
+
* @param {number} screenX Client X in CSS pixels.
|
|
143
|
+
* @param {number} screenY Client Y in CSS pixels.
|
|
144
|
+
* @param {import('./surfacePicking.js').SurfacePickOptions} [options]
|
|
145
|
+
* @returns {{ lon: number, lat: number, alt: number, point: Vector3, source: 'splats' | 'globe' | 'content', layerId: string | null } | null} WGS84 degrees, ellipsoidal meters, ECEF point in meters.
|
|
146
|
+
*/
|
|
147
|
+
pickCoordinates(screenX: number, screenY: number, options?: import("./surfacePicking.js").SurfacePickOptions): {
|
|
148
|
+
lon: number;
|
|
149
|
+
lat: number;
|
|
150
|
+
alt: number;
|
|
151
|
+
point: Vector3;
|
|
152
|
+
source: "splats" | "globe" | "content";
|
|
153
|
+
layerId: string | null;
|
|
154
|
+
} | null;
|
|
155
|
+
/** @param {Raycaster} raycaster @param {import('./surfacePicking.js').SurfacePickOptions} [options] */
|
|
156
|
+
_raycastSurfaces(raycaster: Raycaster, options?: import("./surfacePicking.js").SurfacePickOptions): any;
|
|
157
|
+
getCameraPivot(): Vector3;
|
|
130
158
|
/**
|
|
131
159
|
* @param {number} lon
|
|
132
160
|
* @param {number} lat
|
|
@@ -168,10 +196,18 @@ export namespace ViewerEvents {
|
|
|
168
196
|
let CONTENT_LAYER_ERROR: "content-layer-error";
|
|
169
197
|
}
|
|
170
198
|
import { EventDispatcher } from '../modules/EventDispatcher';
|
|
171
|
-
import { SparkRenderer } from '@sparkjsdev/spark';
|
|
172
199
|
import { StateDispatcher } from '../modules/StateDispatcher';
|
|
200
|
+
import { WebGLRenderer } from 'three';
|
|
201
|
+
import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
202
|
+
import { Clock } from 'three';
|
|
203
|
+
import { PerspectiveCamera } from 'three';
|
|
204
|
+
import { Vector3 } from 'three';
|
|
205
|
+
import { Scene } from 'three';
|
|
206
|
+
import { Group } from 'three';
|
|
173
207
|
import { GlobeControls } from './GlobeControls';
|
|
174
208
|
import { TransitionControls } from './TransitionControls';
|
|
175
209
|
import { GlobeManager } from './GlobeManager';
|
|
176
210
|
import { Sky } from './Sky';
|
|
211
|
+
import { Raycaster } from 'three';
|
|
212
|
+
import Stats from 'stats.js';
|
|
177
213
|
export { Viewer as default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Apply camera-relative translation to a WGS84 ECEF position (metres).
|
|
2
|
+
* Speed is metres/second; deltaTime is seconds; boost is dimensionless.
|
|
3
|
+
*/
|
|
4
|
+
export function applyKeyboardMovement(position: any, forward: any, right: any, up: any, state: any, deltaTime: any, movementSpeed: any, boostMultiplier: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function loadSpark(): any;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} SurfacePickOptions
|
|
3
|
+
* @property {'all' | 'splats' | 'globe' | 'content'} [source] Defaults to all (nearest hit).
|
|
4
|
+
* @property {string[]} [layerIds] Restrict content to these IDs; never includes the globe.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Explicit-action splat picking, deliberately separate from camera/hover raycasts.
|
|
8
|
+
* Spark 2.2's WASM quadratic uses float32 b*b-a*c: long rays against small splats
|
|
9
|
+
* lose the discriminant. Work in float64 and calculate closest approach instead.
|
|
10
|
+
* Uses Spark's public iterator: original direct-format splats, or currently selected
|
|
11
|
+
* RAD pages (not its coarser raycastIndices). This is not a full-resolution survey.
|
|
12
|
+
* Gaussian ellipsoid/disk approximation follows Spark 2.2's rust raycast.rs.
|
|
13
|
+
*/
|
|
14
|
+
export function raycastGaussianSplats(mesh: any, raycaster: any): {
|
|
15
|
+
distance: any;
|
|
16
|
+
point: any;
|
|
17
|
+
object: any;
|
|
18
|
+
splatIndex: number;
|
|
19
|
+
};
|
|
20
|
+
/** @param {SurfacePickOptions} options */
|
|
21
|
+
export function raycastSurfaces(viewer: any, raycaster: any, options?: SurfacePickOptions): any;
|
|
22
|
+
export type SurfacePickOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* Defaults to all (nearest hit).
|
|
25
|
+
*/
|
|
26
|
+
source?: "all" | "splats" | "globe" | "content";
|
|
27
|
+
/**
|
|
28
|
+
* Restrict content to these IDs; never includes the globe.
|
|
29
|
+
*/
|
|
30
|
+
layerIds?: string[];
|
|
31
|
+
};
|
|
@@ -3,10 +3,12 @@ export function ecefToGeodeticRotation(x: any, y: any, z: any, quaternion: any):
|
|
|
3
3
|
lat: number;
|
|
4
4
|
alt: number;
|
|
5
5
|
pitch: number;
|
|
6
|
-
yaw:
|
|
7
|
-
roll:
|
|
6
|
+
yaw: number;
|
|
7
|
+
roll: number;
|
|
8
8
|
};
|
|
9
|
-
export function geodeticToEcefUpVector(lon: any, lat: any):
|
|
10
|
-
export function geodeticToEcefRotation(lon: any, lat: any, pitch: any, yaw: any, roll: any):
|
|
9
|
+
export function geodeticToEcefUpVector(lon: any, lat: any): Vector3;
|
|
10
|
+
export function geodeticToEcefRotation(lon: any, lat: any, pitch: any, yaw: any, roll: any): Quaternion;
|
|
11
11
|
export function exportScene(root: any): void;
|
|
12
|
+
import { Vector3 } from 'three';
|
|
13
|
+
import { Quaternion } from 'three';
|
|
12
14
|
export { ecefToGeodeticPosition, geodeticToEcefPosition } from "../geospatial.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export function createArrowGeometry(data: any): {
|
|
2
|
-
origin:
|
|
2
|
+
origin: import("three").Vector3Tuple;
|
|
3
3
|
meshVertexBuffer: Float32Array<any>;
|
|
4
4
|
};
|
|
5
5
|
export function createPerimeterGeometry(data: any, color: any): {
|
|
6
|
-
origin:
|
|
6
|
+
origin: import("three").Vector3Tuple;
|
|
7
7
|
lineVertexBuffer: Float32Array<any>;
|
|
8
8
|
lineVertexRGBBuffer: Uint8Array<ArrayBuffer>;
|
|
9
9
|
meshVertexBuffer: Float32Array<any>;
|
|
@@ -12,4 +12,5 @@ export function raycastMesh(rayOrigin: any, rayDir: any, positions: any, indices
|
|
|
12
12
|
point: any[];
|
|
13
13
|
barycentric: number[];
|
|
14
14
|
};
|
|
15
|
-
export function intersectGltf(nodes: any, meshes: any, point: any):
|
|
15
|
+
export function intersectGltf(nodes: any, meshes: any, point: any): Vector3;
|
|
16
|
+
import { Vector3 } from 'three';
|