@inweb/viewer-three 25.9.7 → 25.10.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 +26 -18
- package/dist/viewer-three.js +10315 -6179
- package/dist/viewer-three.js.map +1 -1
- package/dist/viewer-three.min.js +3 -2
- package/dist/viewer-three.module.js +1881 -322
- package/dist/viewer-three.module.js.map +1 -1
- package/lib/Viewer/IDisposable.d.ts +6 -0
- package/lib/Viewer/Viewer.d.ts +113 -14
- package/lib/Viewer/commands/ApplyModelTransform.d.ts +1 -0
- package/lib/Viewer/commands/ClearMarkup.d.ts +1 -0
- package/lib/Viewer/commands/ClearSlices.d.ts +1 -0
- package/lib/Viewer/commands/CreatePreview.d.ts +1 -0
- package/lib/Viewer/commands/Explode.d.ts +1 -0
- package/lib/Viewer/commands/GetDefaultViewPositions.d.ts +1 -0
- package/lib/Viewer/commands/GetModels.d.ts +1 -0
- package/lib/Viewer/commands/GetSelected.d.ts +1 -0
- package/lib/Viewer/commands/HideSelected.d.ts +1 -0
- package/lib/Viewer/commands/IsolateSelected.d.ts +1 -0
- package/lib/Viewer/commands/RegenerateAll.d.ts +1 -0
- package/lib/Viewer/commands/ResetView.d.ts +1 -0
- package/lib/Viewer/commands/SelectModel.d.ts +1 -0
- package/lib/Viewer/commands/SetActiveDragger.d.ts +1 -0
- package/lib/Viewer/commands/SetDefaultViewPosition.d.ts +13 -0
- package/lib/Viewer/commands/SetMarkupColor.d.ts +1 -0
- package/lib/Viewer/commands/SetSelected.d.ts +1 -0
- package/lib/Viewer/commands/ShowAll.d.ts +1 -0
- package/lib/Viewer/commands/Unselect.d.ts +1 -0
- package/lib/Viewer/commands/ZoomToExtents.d.ts +1 -0
- package/lib/Viewer/commands/ZoomToObjects.d.ts +1 -0
- package/lib/Viewer/commands/ZoomToSelected.d.ts +1 -0
- package/lib/Viewer/commands/index.d.ts +22 -0
- package/lib/Viewer/components/AxesHelperComponent.d.ts +10 -0
- package/lib/Viewer/components/BackgroundComponent.d.ts +4 -4
- package/lib/Viewer/components/{DefaultCameraPositionComponent.d.ts → DefaultPositionComponent.d.ts} +3 -2
- package/lib/Viewer/components/ExtentsComponent.d.ts +8 -0
- package/lib/Viewer/components/ExtentsHelperComponent.d.ts +9 -0
- package/lib/Viewer/components/LightComponent.d.ts +5 -5
- package/lib/Viewer/components/RenderLoopComponent.d.ts +3 -3
- package/lib/Viewer/components/ResizeCanvasComponent.d.ts +2 -2
- package/lib/Viewer/components/SelectionComponent.d.ts +19 -0
- package/lib/Viewer/components/ViewPositionComponent.d.ts +31 -0
- package/lib/Viewer/components/WCSHelperComponent.d.ts +9 -0
- package/lib/Viewer/controls/WalkControls.d.ts +26 -0
- package/lib/Viewer/draggers/CuttingPlaneDragger.d.ts +17 -0
- package/lib/Viewer/draggers/CuttingPlaneXAxis.d.ts +5 -0
- package/lib/Viewer/draggers/CuttingPlaneYAxis.d.ts +5 -0
- package/lib/Viewer/draggers/CuttingPlaneZAxis.d.ts +5 -0
- package/lib/Viewer/draggers/OrbitDragger.d.ts +9 -5
- package/lib/Viewer/draggers/WalkDragger.d.ts +7 -33
- package/lib/Viewer/helpers/PlaneHelper.d.ts +11 -0
- package/lib/Viewer/helpers/WCSHelper.d.ts +10 -0
- package/lib/Viewer/loaders/GLTFLoadingManager.d.ts +3 -3
- package/lib/index.d.ts +1 -0
- package/package.json +7 -6
- package/src/Viewer/IDisposable.ts +29 -0
- package/src/Viewer/Viewer.ts +218 -49
- package/src/Viewer/commands/ApplyModelTransform.ts +33 -0
- package/src/Viewer/commands/ClearMarkup.ts +29 -0
- package/src/Viewer/commands/ClearSlices.ts +32 -0
- package/src/Viewer/commands/CreatePreview.ts +32 -0
- package/src/Viewer/commands/Explode.ts +83 -0
- package/src/Viewer/commands/GetDefaultViewPositions.ts +31 -0
- package/src/Viewer/commands/GetModels.ts +32 -0
- package/src/Viewer/commands/GetSelected.ts +31 -0
- package/src/Viewer/commands/HideSelected.ts +40 -0
- package/src/Viewer/commands/IsolateSelected.ts +50 -0
- package/src/Viewer/commands/RegenerateAll.ts +32 -0
- package/src/Viewer/commands/ResetView.ts +41 -0
- package/src/Viewer/commands/SelectModel.ts +32 -0
- package/src/Viewer/commands/SetActiveDragger.ts +29 -0
- package/src/Viewer/commands/SetDefaultViewPosition.ts +83 -0
- package/src/Viewer/commands/SetMarkupColor.ts +30 -0
- package/src/Viewer/commands/SetSelected.ts +44 -0
- package/src/Viewer/commands/ShowAll.ts +34 -0
- package/src/Viewer/commands/Unselect.ts +37 -0
- package/src/Viewer/commands/ZoomToExtents.ts +47 -0
- package/src/Viewer/commands/ZoomToObjects.ts +55 -0
- package/src/Viewer/commands/ZoomToSelected.ts +51 -0
- package/src/Viewer/commands/index.ts +45 -0
- package/src/Viewer/components/AxesHelperComponent.ts +70 -0
- package/src/Viewer/components/BackgroundComponent.ts +9 -7
- package/src/Viewer/components/{DefaultCameraPositionComponent.ts → DefaultPositionComponent.ts} +11 -22
- package/src/Viewer/components/ExtentsComponent.ts +54 -0
- package/src/Viewer/components/ExtentsHelperComponent.ts +58 -0
- package/src/Viewer/components/LightComponent.ts +14 -10
- package/src/Viewer/components/RenderLoopComponent.ts +6 -6
- package/src/Viewer/components/ResizeCanvasComponent.ts +2 -2
- package/src/Viewer/components/SelectionComponent.ts +132 -0
- package/src/Viewer/components/ViewPositionComponent.ts +165 -0
- package/src/Viewer/components/WCSHelperComponent.ts +46 -0
- package/src/Viewer/controls/WalkControls.ts +221 -0
- package/src/Viewer/draggers/CuttingPlaneDragger.ts +110 -0
- package/src/Viewer/draggers/CuttingPlaneXAxis.ts +33 -0
- package/src/Viewer/draggers/CuttingPlaneYAxis.ts +33 -0
- package/src/Viewer/draggers/CuttingPlaneZAxis.ts +33 -0
- package/src/Viewer/draggers/OrbitDragger.ts +47 -22
- package/src/Viewer/draggers/PanDragger.ts +4 -3
- package/src/Viewer/draggers/WalkDragger.ts +27 -216
- package/src/Viewer/draggers/ZoomDragger.ts +4 -3
- package/src/Viewer/helpers/PlaneHelper.ts +99 -0
- package/src/Viewer/helpers/WCSHelper.ts +119 -0
- package/src/Viewer/loaders/GLTFLoadingManager.ts +6 -6
- package/src/index.ts +2 -0
- package/lib/Viewer/IComponent.d.ts +0 -3
- package/lib/Viewer/components/ObjectSelectionComponent.d.ts +0 -16
- package/lib/Viewer/draggers/ClippingPlaneDragger.d.ts +0 -17
- package/src/Viewer/IComponent.ts +0 -3
- package/src/Viewer/components/ObjectSelectionComponent.ts +0 -105
- package/src/Viewer/draggers/ClippingPlaneDragger.ts +0 -120
package/lib/Viewer/Viewer.d.ts
CHANGED
|
@@ -1,43 +1,139 @@
|
|
|
1
|
+
import { Box3, Object3D, PerspectiveCamera, Scene, Vector3, WebGLRenderer } from "three";
|
|
2
|
+
import { GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
1
3
|
import { EventEmitter2 } from "@inweb/eventemitter2";
|
|
2
|
-
import { Assembly, Client,
|
|
4
|
+
import { Assembly, Client, Model, File } from "@inweb/client";
|
|
3
5
|
import { CanvasEventMap, IDragger, IOptions, IViewer, IViewpoint, Options, OptionsEventMap, ViewerEventMap } from "@inweb/viewer-core";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* 3D viewer powered by {@link https://threejs.org/ | Three.js}.
|
|
8
|
+
*/
|
|
6
9
|
export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMap & OptionsEventMap> implements IViewer {
|
|
7
10
|
client: Client | undefined;
|
|
8
|
-
|
|
11
|
+
protected _options: Options;
|
|
9
12
|
private canvaseventlistener;
|
|
10
13
|
canvas: HTMLCanvasElement | undefined;
|
|
11
14
|
canvasEvents: string[];
|
|
12
|
-
scene:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
scene: Scene | undefined;
|
|
16
|
+
helpers: Scene | undefined;
|
|
17
|
+
camera: PerspectiveCamera | undefined;
|
|
18
|
+
renderer: WebGLRenderer | undefined;
|
|
15
19
|
models: Array<GLTF>;
|
|
16
|
-
|
|
20
|
+
selected: Array<Object3D>;
|
|
21
|
+
extents: Box3;
|
|
22
|
+
target: Vector3;
|
|
17
23
|
private draggerFactory;
|
|
18
24
|
private _activeDragger;
|
|
19
25
|
private components;
|
|
20
26
|
private renderNeeded;
|
|
21
27
|
private renderTime;
|
|
28
|
+
/**
|
|
29
|
+
* @param client - The `Client` instance that is used to load model reference files from the
|
|
30
|
+
* Open Cloud Server. Do not specify `Client` if you need a standalone viewer instance to
|
|
31
|
+
* view `glTF` files from the web or from local computer.
|
|
32
|
+
*/
|
|
22
33
|
constructor(client?: Client);
|
|
23
|
-
get options():
|
|
34
|
+
get options(): IOptions;
|
|
24
35
|
get draggers(): string[];
|
|
25
|
-
initialize(canvas: HTMLCanvasElement, onProgress?: (event: ProgressEvent) => void): Promise<this>;
|
|
36
|
+
initialize(canvas: HTMLCanvasElement, onProgress?: (event: ProgressEvent<EventTarget>) => void): Promise<this>;
|
|
26
37
|
dispose(): this;
|
|
27
38
|
isInitialized(): boolean;
|
|
28
39
|
render(time: DOMHighResTimeStamp): void;
|
|
29
40
|
update(force?: boolean): void;
|
|
30
41
|
syncOptions(options?: IOptions): void;
|
|
31
42
|
loadReferences(model: Model | File | Assembly): Promise<this>;
|
|
32
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Loads a file from Open Cloud Server into the viewer.
|
|
45
|
+
*
|
|
46
|
+
* The file geometry data on the server must be converted to `glTF` format.
|
|
47
|
+
*
|
|
48
|
+
* This method requires a `Client` instance to be specified when creating the viewer to load
|
|
49
|
+
* model reference files from the Open Cloud Server. For a standalone viewer instance use
|
|
50
|
+
* {@link openGltfFile | openGltfFile()}.
|
|
51
|
+
*
|
|
52
|
+
* Fires:
|
|
53
|
+
*
|
|
54
|
+
* - {@link OpenEvent | open}
|
|
55
|
+
* - {@link GeometryStartEvent | geometrystart}
|
|
56
|
+
* - {@link GeometryProgressEvent | geometryprogress}
|
|
57
|
+
* - {@link DatabaseChunkEvent | databasechunk}
|
|
58
|
+
* - {@link GeometryChunkEvent | geometrychunk}
|
|
59
|
+
* - {@link GeometryEndEvent | geometryend}
|
|
60
|
+
* - {@link GeometryErrorEvent | geometryerror}
|
|
61
|
+
*
|
|
62
|
+
* @param file - File, assembly or specific model to load. If a `File` instance with multiple
|
|
63
|
+
* models is specified, the default model will be loaded. If there is no default model,
|
|
64
|
+
* first availiable model will be loaded.
|
|
65
|
+
*/
|
|
66
|
+
open(file: Model | File | Assembly): Promise<this>;
|
|
33
67
|
cancel(): this;
|
|
34
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Loads a `glTF` file into the viewer.
|
|
70
|
+
*
|
|
71
|
+
* Fires:
|
|
72
|
+
*
|
|
73
|
+
* - {@link OpenEvent | open}
|
|
74
|
+
* - {@link GeometryStartEvent | geometrystart}
|
|
75
|
+
* - {@link GeometryProgressEvent | geometryprogress}
|
|
76
|
+
* - {@link DatabaseChunkEvent | databasechunk}
|
|
77
|
+
* - {@link GeometryEndEvent | geometryend}
|
|
78
|
+
* - {@link GeometryErrorEvent | geometryerror}
|
|
79
|
+
*
|
|
80
|
+
* @param file - File URL or binary data buffer to load.
|
|
81
|
+
* @param externalData - External resource map such as binary data buffers or images. Each
|
|
82
|
+
* resource should be represented by a `uri` and a corresponding resource URL, or
|
|
83
|
+
* {@link https://developer.mozilla.org/docs/Web/API/File | Web API File} object, or
|
|
84
|
+
* {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer | ArrayBuffer}
|
|
85
|
+
* or {@link https://developer.mozilla.org/docs/Web/API/Blob/Blob | Blob}, or
|
|
86
|
+
* {@link https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs | Data URL} string,
|
|
87
|
+
* @param params - Loader parameters.
|
|
88
|
+
* @param params.path - The base path from which to find subsequent glTF resources such as
|
|
89
|
+
* textures and .bin data files. If not defined, the base path of the file URL will be used.
|
|
90
|
+
* @param params.requestHeader - The
|
|
91
|
+
* {@link https://developer.mozilla.org/docs/Glossary/Request_header | request header} used
|
|
92
|
+
* in HTTP request.
|
|
93
|
+
* @param params.crossOrigin - The crossOrigin string to implement CORS for loading the url
|
|
94
|
+
* from a different domain that allows CORS. Default is `anonymous`.
|
|
95
|
+
* @param params.withCredentials - Whether the XMLHttpRequest uses credentials such as
|
|
96
|
+
* cookies, authorization headers or TLS client certificates. See
|
|
97
|
+
* {@link https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/withCredentials | XMLHttpRequest.withCredentials}.
|
|
98
|
+
*/
|
|
99
|
+
openGltfFile(file: string | globalThis.File | ArrayBuffer | Blob, externalData?: Map<string, string | globalThis.File | ArrayBuffer | Blob>, params?: {
|
|
35
100
|
path?: string;
|
|
36
101
|
requestHeader?: HeadersInit;
|
|
37
102
|
crossOrigin?: string;
|
|
38
103
|
withCredentials?: boolean;
|
|
39
104
|
}): Promise<this>;
|
|
40
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Appends a `glTF` file to the existing opened file.
|
|
107
|
+
*
|
|
108
|
+
* Fires:
|
|
109
|
+
*
|
|
110
|
+
* - {@link OpenEvent | open}
|
|
111
|
+
* - {@link GeometryStartEvent | geometrystart}
|
|
112
|
+
* - {@link GeometryProgressEvent | geometryprogress}
|
|
113
|
+
* - {@link DatabaseChunkEvent | databasechunk}
|
|
114
|
+
* - {@link GeometryEndEvent | geometryend}
|
|
115
|
+
* - {@link GeometryErrorEvent | geometryerror}
|
|
116
|
+
*
|
|
117
|
+
* @param file - File URL or binary data buffer to load.
|
|
118
|
+
* @param externalData - External resource map such as binary data buffers or images. Each
|
|
119
|
+
* resource should be represented by a `uri` and a corresponding resource URL, or
|
|
120
|
+
* {@link https://developer.mozilla.org/docs/Web/API/File | Web API File} object, or
|
|
121
|
+
* {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer | ArrayBuffer}
|
|
122
|
+
* or {@link https://developer.mozilla.org/docs/Web/API/Blob/Blob | Blob}, or
|
|
123
|
+
* {@link https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs | Data URL} string,
|
|
124
|
+
* @param params - Loader parameters.
|
|
125
|
+
* @param params.path - The base path from which to find subsequent glTF resources such as
|
|
126
|
+
* textures and .bin data files.
|
|
127
|
+
* @param params.requestHeader - The
|
|
128
|
+
* {@link https://developer.mozilla.org/docs/Glossary/Request_header | request header} used
|
|
129
|
+
* in HTTP request.
|
|
130
|
+
* @param params.crossOrigin - The crossOrigin string to implement CORS for loading the url
|
|
131
|
+
* from a different domain that allows CORS. Default is `anonymous`.
|
|
132
|
+
* @param params.withCredentials - Whether the XMLHttpRequest uses credentials such as
|
|
133
|
+
* cookies, authorization headers or TLS client certificates. See
|
|
134
|
+
* {@link https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/withCredentials | XMLHttpRequest.withCredentials}.
|
|
135
|
+
*/
|
|
136
|
+
loadGltfFile(file: string | globalThis.File | ArrayBuffer | Blob, externalData?: Map<string, string | globalThis.File | ArrayBuffer | Blob>, params?: {
|
|
41
137
|
path?: string;
|
|
42
138
|
requestHeader?: HeadersInit;
|
|
43
139
|
crossOrigin?: string;
|
|
@@ -45,10 +141,13 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
45
141
|
}): Promise<this>;
|
|
46
142
|
clear(): this;
|
|
47
143
|
activeDragger(): IDragger | null;
|
|
48
|
-
setActiveDragger(name
|
|
144
|
+
setActiveDragger(name?: string): IDragger | null;
|
|
49
145
|
resetActiveDragger(): void;
|
|
50
146
|
is3D(): boolean;
|
|
147
|
+
getSelected(): string[];
|
|
148
|
+
setSelected(handles?: string[]): void;
|
|
51
149
|
executeCommand(id: string, ...args: any[]): any;
|
|
150
|
+
getComponent(type: any): any;
|
|
52
151
|
drawViewpoint(viewpoint: IViewpoint): void;
|
|
53
152
|
createViewpoint(): IViewpoint;
|
|
54
153
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import "./ApplyModelTransform";
|
|
2
|
+
import "./ClearMarkup";
|
|
3
|
+
import "./ClearSlices";
|
|
4
|
+
import "./CreatePreview";
|
|
5
|
+
import "./Explode";
|
|
6
|
+
import "./GetDefaultViewPositions";
|
|
7
|
+
import "./GetModels";
|
|
8
|
+
import "./GetSelected";
|
|
9
|
+
import "./HideSelected";
|
|
10
|
+
import "./IsolateSelected";
|
|
11
|
+
import "./RegenerateAll";
|
|
12
|
+
import "./ResetView";
|
|
13
|
+
import "./SelectModel";
|
|
14
|
+
import "./SetActiveDragger";
|
|
15
|
+
import "./SetDefaultViewPosition";
|
|
16
|
+
import "./SetMarkupColor";
|
|
17
|
+
import "./SetSelected";
|
|
18
|
+
import "./ShowAll";
|
|
19
|
+
import "./Unselect";
|
|
20
|
+
import "./ZoomToExtents";
|
|
21
|
+
import "./ZoomToObjects";
|
|
22
|
+
import "./ZoomToSelected";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IDisposable } from "../IDisposable";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class AxesHelperComponent implements IDisposable {
|
|
4
|
+
private viewer;
|
|
5
|
+
private axesHelper1;
|
|
6
|
+
private axesHelper2;
|
|
7
|
+
constructor(viewer: Viewer);
|
|
8
|
+
dispose(): void;
|
|
9
|
+
geometryEnd: () => void;
|
|
10
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { Color } from "three";
|
|
2
|
+
import { IDisposable } from "../IDisposable";
|
|
3
3
|
import type { Viewer } from "../Viewer";
|
|
4
|
-
export declare class BackgroundComponent implements
|
|
4
|
+
export declare class BackgroundComponent implements IDisposable {
|
|
5
5
|
protected viewer: Viewer;
|
|
6
|
-
protected backgroundColor:
|
|
6
|
+
protected backgroundColor: Color;
|
|
7
7
|
constructor(viewer: Viewer);
|
|
8
8
|
dispose(): void;
|
|
9
9
|
syncOptions: () => void;
|
package/lib/Viewer/components/{DefaultCameraPositionComponent.d.ts → DefaultPositionComponent.d.ts}
RENAMED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GeometryEndEvent } from "@inweb/viewer-core";
|
|
2
|
-
import {
|
|
2
|
+
import { IDisposable } from "../IDisposable";
|
|
3
3
|
import type { Viewer } from "../Viewer";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class DefaultPositionComponent implements IDisposable {
|
|
5
5
|
protected viewer: Viewer;
|
|
6
|
+
defaultCameraPositions: any;
|
|
6
7
|
constructor(viewer: Viewer);
|
|
7
8
|
dispose(): void;
|
|
8
9
|
geometryEnd: (event: GeometryEndEvent) => void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IDisposable } from "../IDisposable";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class ExtentsHelperComponent implements IDisposable {
|
|
4
|
+
private viewer;
|
|
5
|
+
private boxHelper;
|
|
6
|
+
constructor(viewer: Viewer);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
geometryEnd: () => void;
|
|
9
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { AmbientLight, DirectionalLight } from "three";
|
|
2
|
+
import { IDisposable } from "../IDisposable";
|
|
3
3
|
import type { Viewer } from "../Viewer";
|
|
4
|
-
export declare class LightComponent implements
|
|
4
|
+
export declare class LightComponent implements IDisposable {
|
|
5
5
|
protected viewer: Viewer;
|
|
6
|
-
protected ambientLight:
|
|
7
|
-
protected
|
|
6
|
+
protected ambientLight: AmbientLight;
|
|
7
|
+
protected directionalLight: DirectionalLight;
|
|
8
8
|
constructor(viewer: Viewer);
|
|
9
9
|
dispose(): void;
|
|
10
10
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IDisposable } from "../IDisposable";
|
|
2
2
|
import type { Viewer } from "../Viewer";
|
|
3
|
-
export declare class RenderLoopComponent implements
|
|
3
|
+
export declare class RenderLoopComponent implements IDisposable {
|
|
4
4
|
protected viewer: Viewer;
|
|
5
|
-
protected
|
|
5
|
+
protected requestId: number;
|
|
6
6
|
constructor(viewer: Viewer);
|
|
7
7
|
dispose(): void;
|
|
8
8
|
animate: (time?: number) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IDisposable } from "../IDisposable";
|
|
2
2
|
import type { Viewer } from "../Viewer";
|
|
3
|
-
export declare class ResizeCanvasComponent implements
|
|
3
|
+
export declare class ResizeCanvasComponent implements IDisposable {
|
|
4
4
|
protected viewer: Viewer;
|
|
5
5
|
protected resizeObserver: ResizeObserver;
|
|
6
6
|
constructor(viewer: Viewer);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Intersection, MeshBasicMaterial, Object3D, Raycaster, Vector2 } from "three";
|
|
2
|
+
import { IDisposable } from "../IDisposable";
|
|
3
|
+
import type { Viewer } from "../Viewer";
|
|
4
|
+
export declare class SelectionComponent implements IDisposable {
|
|
5
|
+
protected viewer: Viewer;
|
|
6
|
+
protected raycaster: Raycaster;
|
|
7
|
+
protected downPosition: Vector2;
|
|
8
|
+
protected facesMaterial: MeshBasicMaterial;
|
|
9
|
+
constructor(viewer: Viewer);
|
|
10
|
+
dispose(): void;
|
|
11
|
+
onPointerDown: (event: PointerEvent) => void;
|
|
12
|
+
onPointerUp: (event: PointerEvent) => void;
|
|
13
|
+
onDoubleClick: (event: MouseEvent) => void;
|
|
14
|
+
getMousePosition(event: MouseEvent, position: Vector2): Vector2;
|
|
15
|
+
getPointerIntersects(position: Vector2): Array<Intersection<Object3D>>;
|
|
16
|
+
select(object: any): void;
|
|
17
|
+
clearSelection(): void;
|
|
18
|
+
optionsChange: () => void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Vector3 } from "three";
|
|
2
|
+
import { CommandEvent, RenderEvent } from "@inweb/viewer-core";
|
|
3
|
+
import { IDisposable } from "../IDisposable";
|
|
4
|
+
import type { Viewer } from "../Viewer";
|
|
5
|
+
export declare const defaultViewPositions: {
|
|
6
|
+
top: Vector3;
|
|
7
|
+
bottom: Vector3;
|
|
8
|
+
left: Vector3;
|
|
9
|
+
right: Vector3;
|
|
10
|
+
front: Vector3;
|
|
11
|
+
back: Vector3;
|
|
12
|
+
sw: Vector3;
|
|
13
|
+
se: Vector3;
|
|
14
|
+
ne: Vector3;
|
|
15
|
+
nw: Vector3;
|
|
16
|
+
};
|
|
17
|
+
export declare class ViewPositionComponent implements IDisposable {
|
|
18
|
+
private position;
|
|
19
|
+
private center;
|
|
20
|
+
private targetPosition;
|
|
21
|
+
private targetQuaternion;
|
|
22
|
+
private radius;
|
|
23
|
+
private q1;
|
|
24
|
+
private q2;
|
|
25
|
+
private animating;
|
|
26
|
+
private viewer;
|
|
27
|
+
constructor(viewer: Viewer);
|
|
28
|
+
dispose(): void;
|
|
29
|
+
onCommand: (event: CommandEvent) => void;
|
|
30
|
+
onRender: (event: RenderEvent) => void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IDisposable } from "../IDisposable";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class WCSHelperComponent implements IDisposable {
|
|
4
|
+
private wcsHelper;
|
|
5
|
+
private viewer;
|
|
6
|
+
constructor(viewer: Viewer);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
viewerRender: () => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Camera, EventDispatcher, Vector2 } from "three";
|
|
2
|
+
export declare class WalkControls extends EventDispatcher {
|
|
3
|
+
camera: Camera;
|
|
4
|
+
canvas: HTMLElement;
|
|
5
|
+
movementSpeed: number;
|
|
6
|
+
lookSpeed: number;
|
|
7
|
+
multiplier: number;
|
|
8
|
+
private moveKeys;
|
|
9
|
+
private moveWheel;
|
|
10
|
+
private moveClock;
|
|
11
|
+
private quaternion;
|
|
12
|
+
private downPosition;
|
|
13
|
+
private mouseDragOn;
|
|
14
|
+
rotateDelta: Vector2;
|
|
15
|
+
constructor(camera: Camera, canvas: HTMLElement);
|
|
16
|
+
dispose(): void;
|
|
17
|
+
onPointerDown: (event: PointerEvent) => void;
|
|
18
|
+
onPointerMove: (event: PointerEvent) => void;
|
|
19
|
+
onPointerUp: (event: PointerEvent) => void;
|
|
20
|
+
onPointerCancel: (event: PointerEvent) => void;
|
|
21
|
+
onWheel: (event: WheelEvent) => void;
|
|
22
|
+
onKeyDown: (event: KeyboardEvent) => void;
|
|
23
|
+
onKeyUp: (event: KeyboardEvent) => void;
|
|
24
|
+
update(): void;
|
|
25
|
+
rotateCamera(delta: Vector2): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Object3D, Plane, Vector3 } from "three";
|
|
2
|
+
import { TransformControls } from "three/examples/jsm/controls/TransformControls.js";
|
|
3
|
+
import type { Viewer } from "../Viewer";
|
|
4
|
+
import { PlaneHelper } from "../helpers/PlaneHelper";
|
|
5
|
+
import { OrbitDragger } from "./OrbitDragger";
|
|
6
|
+
export declare class CuttingPlaneDragger extends OrbitDragger {
|
|
7
|
+
protected plane: Plane;
|
|
8
|
+
protected planeCenter: Object3D;
|
|
9
|
+
protected planeHelper: PlaneHelper;
|
|
10
|
+
protected transform: TransformControls;
|
|
11
|
+
constructor(viewer: Viewer, normal: Vector3, color: number);
|
|
12
|
+
dispose(): void;
|
|
13
|
+
transformChange: () => void;
|
|
14
|
+
transformDrag: (event: any) => void;
|
|
15
|
+
viewerExplode: () => void;
|
|
16
|
+
onDoubleClick: (event: PointerEvent) => void;
|
|
17
|
+
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { GeometryEndEvent } from "@inweb/viewer-core";
|
|
2
1
|
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
2
|
+
import type { IDisposable } from "../IDisposable";
|
|
3
3
|
import type { Viewer } from "../Viewer";
|
|
4
|
-
export declare class OrbitDragger
|
|
5
|
-
|
|
4
|
+
export declare class OrbitDragger implements IDisposable {
|
|
5
|
+
protected viewer: Viewer;
|
|
6
|
+
protected orbit: OrbitControls;
|
|
7
|
+
protected changed: boolean;
|
|
6
8
|
constructor(viewer: Viewer);
|
|
7
9
|
dispose(): void;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
updateControls: () => void;
|
|
11
|
+
controlsStart: () => void;
|
|
12
|
+
controlsChange: () => void;
|
|
13
|
+
stopContextMenu: (event: PointerEvent) => void;
|
|
10
14
|
}
|
|
@@ -1,39 +1,13 @@
|
|
|
1
|
-
import { RenderEvent } from "@inweb/viewer-core";
|
|
2
|
-
import * as THREE from "three";
|
|
3
1
|
import type { Viewer } from "../Viewer";
|
|
2
|
+
import { WalkControls } from "../controls/WalkControls";
|
|
4
3
|
export declare class WalkDragger {
|
|
5
4
|
protected viewer: Viewer;
|
|
6
|
-
|
|
7
|
-
protected canvas: HTMLCanvasElement;
|
|
8
|
-
protected _target: THREE.Vector3;
|
|
9
|
-
protected quaternion: THREE.Quaternion;
|
|
10
|
-
protected mouseStart: THREE.Vector2;
|
|
11
|
-
protected mouseDelta: THREE.Vector2;
|
|
12
|
-
protected xAxis: THREE.Vector3;
|
|
13
|
-
protected yAxis: THREE.Vector3;
|
|
14
|
-
protected zAxis: THREE.Vector3;
|
|
15
|
-
protected speed: THREE.Vector3;
|
|
16
|
-
protected _maxDistance: number;
|
|
17
|
-
protected xRotation: THREE.Quaternion;
|
|
18
|
-
protected yRotation: THREE.Quaternion;
|
|
19
|
-
protected yRotationAxis: THREE.Vector3;
|
|
20
|
-
protected touchStartDistance: number;
|
|
21
|
-
walkSpeed: number;
|
|
22
|
-
boostSpeed: number;
|
|
5
|
+
controls: WalkControls;
|
|
23
6
|
constructor(viewer: Viewer);
|
|
24
7
|
dispose(): void;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
onMouseWheel: (event: WheelEvent) => void;
|
|
31
|
-
onContextMenu: (event: MouseEvent) => void;
|
|
32
|
-
onTouchStart: (event: TouchEvent) => void;
|
|
33
|
-
onTouchEnd: (event: TouchEvent) => void;
|
|
34
|
-
onTouchMove: (event: TouchEvent) => void;
|
|
35
|
-
getTouchsDistance(touches: any): number;
|
|
36
|
-
onRender: (event: RenderEvent) => void;
|
|
37
|
-
update(): void;
|
|
38
|
-
rotateCamera(delta: THREE.Vector2): void;
|
|
8
|
+
updateControls: () => void;
|
|
9
|
+
controlsChange: () => void;
|
|
10
|
+
walkspeedChange: (event: any) => void;
|
|
11
|
+
viewerRender: () => void;
|
|
12
|
+
viewerZoom: () => void;
|
|
39
13
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Line, Object3D, Plane, Vector3 } from "three";
|
|
2
|
+
declare class PlaneHelper extends Line {
|
|
3
|
+
plane: Plane;
|
|
4
|
+
size: number;
|
|
5
|
+
offset: Vector3;
|
|
6
|
+
helper: Object3D;
|
|
7
|
+
constructor(plane: Plane, size?: number, color?: number, offset?: Vector3);
|
|
8
|
+
dispose(): void;
|
|
9
|
+
updateMatrixWorld(force: boolean): void;
|
|
10
|
+
}
|
|
11
|
+
export { PlaneHelper };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Camera, Color, Object3D, SpriteMaterial, WebGLRenderer } from "three";
|
|
2
|
+
export declare class WCSHelper extends Object3D {
|
|
3
|
+
private camera;
|
|
4
|
+
private orthoCamera;
|
|
5
|
+
size: number;
|
|
6
|
+
constructor(camera: Camera);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
getSpriteMaterial(color: Color, text: string): SpriteMaterial;
|
|
9
|
+
render(renderer: WebGLRenderer): void;
|
|
10
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare class GLTFLoadingManager extends
|
|
1
|
+
import { LoadingManager } from "three";
|
|
2
|
+
export declare class GLTFLoadingManager extends LoadingManager {
|
|
3
3
|
path: string;
|
|
4
4
|
resourcePath: string;
|
|
5
5
|
fileURL: string;
|
|
6
6
|
dataURLs: Map<any, any>;
|
|
7
|
-
constructor(file: string | ArrayBuffer | Blob, externalData?: Map<string, string | ArrayBuffer | Blob>, params?: {
|
|
7
|
+
constructor(file: string | globalThis.File | ArrayBuffer | Blob, externalData?: Map<string, string | File | ArrayBuffer | Blob>, params?: {
|
|
8
8
|
path?: string;
|
|
9
9
|
});
|
|
10
10
|
dispose(): void;
|
package/lib/index.d.ts
CHANGED