@inweb/viewer-three 26.6.2 → 26.6.3
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/dist/plugins/loaders/IFCXLoader.js +60 -60
- package/dist/plugins/loaders/IFCXLoader.js.map +1 -1
- package/dist/plugins/loaders/IFCXLoader.min.js +1 -1
- package/dist/plugins/loaders/IFCXLoader.module.js +49 -49
- package/dist/plugins/loaders/IFCXLoader.module.js.map +1 -1
- package/dist/viewer-three.js +31 -31
- package/dist/viewer-three.js.map +1 -1
- package/dist/viewer-three.min.js +1 -1
- package/dist/viewer-three.module.js +30 -30
- package/dist/viewer-three.module.js.map +1 -1
- package/lib/Viewer/loaders/{GLTFModelLoader.d.ts → GLTFCloudModelLoader.d.ts} +1 -1
- package/lib/Viewer/loaders/GLTFFileLoader.d.ts +1 -1
- package/package.json +5 -5
- package/plugins/loaders/{IFCXModelLoader.ts → IFCXCloudFileLoader.ts} +6 -6
- package/plugins/loaders/IFCXLoader.ts +2 -2
- package/src/Viewer/Viewer.ts +7 -7
- package/src/Viewer/components/index.ts +0 -1
- package/src/Viewer/loaders/{GLTFModelLoader.ts → GLTFCloudModelLoader.ts} +1 -1
- package/src/Viewer/loaders/GLTFFileLoader.ts +4 -4
- package/src/Viewer/loaders/index.ts +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Loader } from "@inweb/viewer-core";
|
|
2
2
|
import { Viewer } from "../Viewer";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class GLTFCloudModelLoader extends Loader {
|
|
4
4
|
viewer: Viewer;
|
|
5
5
|
constructor(viewer: Viewer);
|
|
6
6
|
isSupport(model: any): boolean;
|
|
@@ -5,5 +5,5 @@ export declare class GLTFFileLoader extends Loader {
|
|
|
5
5
|
viewer: Viewer;
|
|
6
6
|
constructor(viewer: Viewer);
|
|
7
7
|
isSupport(file: any, format?: string): boolean;
|
|
8
|
-
load(
|
|
8
|
+
load(file: any, format?: string, params?: GLTFLoadParams): Promise<this>;
|
|
9
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inweb/viewer-three",
|
|
3
|
-
"version": "26.6.
|
|
3
|
+
"version": "26.6.3",
|
|
4
4
|
"description": "JavaScript library for rendering CAD and BIM files in a browser using Three.js",
|
|
5
5
|
"homepage": "https://cloud.opendesign.com/docs/index.html",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"docs": "typedoc"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@inweb/client": "~26.6.
|
|
35
|
-
"@inweb/eventemitter2": "~26.6.
|
|
36
|
-
"@inweb/markup": "~26.6.
|
|
37
|
-
"@inweb/viewer-core": "~26.6.
|
|
34
|
+
"@inweb/client": "~26.6.3",
|
|
35
|
+
"@inweb/eventemitter2": "~26.6.3",
|
|
36
|
+
"@inweb/markup": "~26.6.3",
|
|
37
|
+
"@inweb/viewer-core": "~26.6.3"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/three": "^0.173.0",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
import { Loader, Viewer } from "@inweb/viewer-three";
|
|
25
25
|
import { parse, clear } from "./IFCX/render.js";
|
|
26
26
|
|
|
27
|
-
export class
|
|
27
|
+
export class IFCXCloudFileLoader extends Loader {
|
|
28
28
|
public viewer: Viewer;
|
|
29
29
|
|
|
30
30
|
constructor(viewer: Viewer) {
|
|
@@ -41,12 +41,12 @@ export class IFCXModelLoader extends Loader {
|
|
|
41
41
|
);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
override async load(
|
|
44
|
+
override async load(file: any): Promise<this> {
|
|
45
45
|
const progress = (progress: number) => {
|
|
46
|
-
this.viewer.emitEvent({ type: "geometryprogress", data: progress, file
|
|
46
|
+
this.viewer.emitEvent({ type: "geometryprogress", data: progress, file });
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
const arrayBuffer = await
|
|
49
|
+
const arrayBuffer = await file.download(progress, this.abortController.signal);
|
|
50
50
|
if (!this.viewer.scene) return this;
|
|
51
51
|
|
|
52
52
|
const textDecoder = new TextDecoder();
|
|
@@ -56,7 +56,7 @@ export class IFCXModelLoader extends Loader {
|
|
|
56
56
|
clear();
|
|
57
57
|
|
|
58
58
|
let handle = 0;
|
|
59
|
-
scene.traverse((object) => {
|
|
59
|
+
scene.traverse((object: any) => {
|
|
60
60
|
object.userData = { handle, ...object.userData };
|
|
61
61
|
handle++;
|
|
62
62
|
});
|
|
@@ -68,7 +68,7 @@ export class IFCXModelLoader extends Loader {
|
|
|
68
68
|
this.viewer.syncOverlay();
|
|
69
69
|
this.viewer.update();
|
|
70
70
|
|
|
71
|
-
this.viewer.emitEvent({ type: "databasechunk", data: scene, file
|
|
71
|
+
this.viewer.emitEvent({ type: "databasechunk", data: scene, file });
|
|
72
72
|
|
|
73
73
|
return this;
|
|
74
74
|
}
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
import { loaders } from "@inweb/viewer-three";
|
|
25
25
|
|
|
26
|
-
import { IFCXModelLoader } from "./IFCXModelLoader";
|
|
27
26
|
import { IFCXFileLoader } from "./IFCXFileLoader";
|
|
27
|
+
import { IFCXCloudFileLoader } from "./IFCXCloudFileLoader";
|
|
28
28
|
|
|
29
|
-
loaders.registerLoader("ifcx", (viewer: any) => new IFCXModelLoader(viewer));
|
|
30
29
|
loaders.registerLoader("ifcx-file", (viewer: any) => new IFCXFileLoader(viewer));
|
|
30
|
+
loaders.registerLoader("ifcx-cloud-file", (viewer: any) => new IFCXCloudFileLoader(viewer));
|
package/src/Viewer/Viewer.ts
CHANGED
|
@@ -192,15 +192,15 @@ export class Viewer
|
|
|
192
192
|
|
|
193
193
|
dispose(): this {
|
|
194
194
|
this.cancel();
|
|
195
|
-
this.
|
|
195
|
+
this.clear();
|
|
196
196
|
|
|
197
|
-
this.
|
|
198
|
-
this.
|
|
197
|
+
this.emitEvent({ type: "dispose" });
|
|
198
|
+
this.removeAllListeners();
|
|
199
199
|
|
|
200
200
|
this.setActiveDragger();
|
|
201
|
-
this.removeAllListeners();
|
|
202
201
|
|
|
203
|
-
this.
|
|
202
|
+
this._components.forEach((component: IComponent) => component.dispose());
|
|
203
|
+
this._components = [];
|
|
204
204
|
|
|
205
205
|
this._markup.dispose();
|
|
206
206
|
|
|
@@ -211,10 +211,10 @@ export class Viewer
|
|
|
211
211
|
|
|
212
212
|
if (this.renderer) this.renderer.dispose();
|
|
213
213
|
|
|
214
|
+
this.helpers = undefined;
|
|
215
|
+
this.scene = undefined;
|
|
214
216
|
this.renderer = undefined;
|
|
215
217
|
this.camera = undefined;
|
|
216
|
-
this.scene = undefined;
|
|
217
|
-
this.helpers = undefined;
|
|
218
218
|
|
|
219
219
|
return this;
|
|
220
220
|
}
|
|
@@ -83,5 +83,4 @@ components.registerComponent("ResizeCanvasComponent", (viewer) => new ResizeCanv
|
|
|
83
83
|
components.registerComponent("RenderLoopComponent", (viewer) => new RenderLoopComponent(viewer));
|
|
84
84
|
components.registerComponent("HighlighterComponent", (viewer) => new HighlighterComponent(viewer));
|
|
85
85
|
components.registerComponent("SelectionComponent", (viewer) => new SelectionComponent(viewer));
|
|
86
|
-
|
|
87
86
|
components.registerComponent("WCSHelperComponent", (viewer) => new WCSHelperComponent(viewer));
|
|
@@ -27,7 +27,7 @@ import { Loader } from "@inweb/viewer-core";
|
|
|
27
27
|
import { Viewer } from "../Viewer";
|
|
28
28
|
import { GLTFLoadingManager } from "./GLTFLoadingManager";
|
|
29
29
|
|
|
30
|
-
export class
|
|
30
|
+
export class GLTFCloudModelLoader extends Loader {
|
|
31
31
|
public viewer: Viewer;
|
|
32
32
|
|
|
33
33
|
constructor(viewer: Viewer) {
|
|
@@ -42,8 +42,8 @@ export class GLTFFileLoader extends Loader {
|
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
override async load(
|
|
46
|
-
const manager = new GLTFLoadingManager(
|
|
45
|
+
override async load(file: any, format?: string, params?: GLTFLoadParams): Promise<this> {
|
|
46
|
+
const manager = new GLTFLoadingManager(file, params);
|
|
47
47
|
|
|
48
48
|
const loader = new GLTFLoader(manager);
|
|
49
49
|
loader.setPath(manager.path);
|
|
@@ -53,7 +53,7 @@ export class GLTFFileLoader extends Loader {
|
|
|
53
53
|
const progress = (event: ProgressEvent) => {
|
|
54
54
|
const { lengthComputable, loaded, total } = event;
|
|
55
55
|
const progress = lengthComputable ? loaded / total : 1;
|
|
56
|
-
this.viewer.emitEvent({ type: "geometryprogress", data: progress, file
|
|
56
|
+
this.viewer.emitEvent({ type: "geometryprogress", data: progress, file });
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
const gltf = await loader.loadAsync(manager.fileURL, progress);
|
|
@@ -66,7 +66,7 @@ export class GLTFFileLoader extends Loader {
|
|
|
66
66
|
this.viewer.syncOverlay();
|
|
67
67
|
this.viewer.update();
|
|
68
68
|
|
|
69
|
-
this.viewer.emitEvent({ type: "databasechunk", data: gltf.scene, file
|
|
69
|
+
this.viewer.emitEvent({ type: "databasechunk", data: gltf.scene, file });
|
|
70
70
|
|
|
71
71
|
return this;
|
|
72
72
|
}
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
import { ILoadersRegistry, loadersRegistry } from "@inweb/viewer-core";
|
|
25
25
|
|
|
26
|
-
import { GLTFModelLoader } from "./GLTFModelLoader";
|
|
27
26
|
import { GLTFFileLoader } from "./GLTFFileLoader";
|
|
27
|
+
import { GLTFCloudModelLoader } from "./GLTFCloudModelLoader";
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Viewer loaders registry. Use this registry to register custom loaders.
|
|
@@ -95,5 +95,5 @@ export const loaders: ILoadersRegistry = loadersRegistry("threejs");
|
|
|
95
95
|
|
|
96
96
|
// build-in loaders
|
|
97
97
|
|
|
98
|
-
loaders.registerLoader("gltf", (viewer: any) => new GLTFModelLoader(viewer));
|
|
99
98
|
loaders.registerLoader("gltf-file", (viewer: any) => new GLTFFileLoader(viewer));
|
|
99
|
+
loaders.registerLoader("gltf-cloud-model", (viewer: any) => new GLTFCloudModelLoader(viewer));
|