@inweb/viewer-three 26.6.2 → 26.6.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.
- 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
|
@@ -2415,30 +2415,30 @@ class GLTFLoadingManager extends LoadingManager {
|
|
|
2415
2415
|
}
|
|
2416
2416
|
}
|
|
2417
2417
|
|
|
2418
|
-
class
|
|
2418
|
+
class GLTFFileLoader extends Loader {
|
|
2419
2419
|
constructor(viewer) {
|
|
2420
2420
|
super();
|
|
2421
2421
|
this.viewer = viewer;
|
|
2422
2422
|
}
|
|
2423
|
-
isSupport(
|
|
2424
|
-
return typeof
|
|
2423
|
+
isSupport(file, format) {
|
|
2424
|
+
return (typeof file === "string" || file instanceof globalThis.File || file instanceof ArrayBuffer) && /(gltf|glb)$/i.test(format);
|
|
2425
2425
|
}
|
|
2426
|
-
async load(
|
|
2427
|
-
const
|
|
2428
|
-
const manager = new GLTFLoadingManager(url);
|
|
2426
|
+
async load(file, format, params) {
|
|
2427
|
+
const manager = new GLTFLoadingManager(file, params);
|
|
2429
2428
|
const loader = new GLTFLoader(manager);
|
|
2430
|
-
loader.
|
|
2429
|
+
loader.setPath(manager.path);
|
|
2430
|
+
loader.setCrossOrigin(params.crossOrigin || loader.crossOrigin);
|
|
2431
|
+
loader.setWithCredentials(params.withCredentials || loader.withCredentials);
|
|
2431
2432
|
const progress = event => {
|
|
2432
2433
|
const {lengthComputable: lengthComputable, loaded: loaded, total: total} = event;
|
|
2433
2434
|
const progress = lengthComputable ? loaded / total : 1;
|
|
2434
2435
|
this.viewer.emitEvent({
|
|
2435
2436
|
type: "geometryprogress",
|
|
2436
2437
|
data: progress,
|
|
2437
|
-
file:
|
|
2438
|
-
model: model
|
|
2438
|
+
file: file
|
|
2439
2439
|
});
|
|
2440
2440
|
};
|
|
2441
|
-
const gltf = await loader.loadAsync(
|
|
2441
|
+
const gltf = await loader.loadAsync(manager.fileURL, progress);
|
|
2442
2442
|
if (!this.viewer.scene) return this;
|
|
2443
2443
|
this.viewer.scene.add(gltf.scene);
|
|
2444
2444
|
this.viewer.models.push(gltf.scene);
|
|
@@ -2448,37 +2448,36 @@ class GLTFModelLoader extends Loader {
|
|
|
2448
2448
|
this.viewer.emitEvent({
|
|
2449
2449
|
type: "databasechunk",
|
|
2450
2450
|
data: gltf.scene,
|
|
2451
|
-
file:
|
|
2452
|
-
model: model
|
|
2451
|
+
file: file
|
|
2453
2452
|
});
|
|
2454
2453
|
return this;
|
|
2455
2454
|
}
|
|
2456
2455
|
}
|
|
2457
2456
|
|
|
2458
|
-
class
|
|
2457
|
+
class GLTFCloudModelLoader extends Loader {
|
|
2459
2458
|
constructor(viewer) {
|
|
2460
2459
|
super();
|
|
2461
2460
|
this.viewer = viewer;
|
|
2462
2461
|
}
|
|
2463
|
-
isSupport(
|
|
2464
|
-
return
|
|
2462
|
+
isSupport(model) {
|
|
2463
|
+
return typeof model === "object" && typeof model.database === "string" && typeof model.downloadResource === "function" && /.gltf$/i.test(model.database);
|
|
2465
2464
|
}
|
|
2466
|
-
async load(
|
|
2467
|
-
const
|
|
2465
|
+
async load(model) {
|
|
2466
|
+
const url = `${model.httpClient.serverUrl}${model.path}/${model.database}`;
|
|
2467
|
+
const manager = new GLTFLoadingManager(url);
|
|
2468
2468
|
const loader = new GLTFLoader(manager);
|
|
2469
|
-
loader.
|
|
2470
|
-
loader.setCrossOrigin(params.crossOrigin || loader.crossOrigin);
|
|
2471
|
-
loader.setWithCredentials(params.withCredentials || loader.withCredentials);
|
|
2469
|
+
loader.setRequestHeader(model.httpClient.headers);
|
|
2472
2470
|
const progress = event => {
|
|
2473
2471
|
const {lengthComputable: lengthComputable, loaded: loaded, total: total} = event;
|
|
2474
2472
|
const progress = lengthComputable ? loaded / total : 1;
|
|
2475
2473
|
this.viewer.emitEvent({
|
|
2476
2474
|
type: "geometryprogress",
|
|
2477
2475
|
data: progress,
|
|
2478
|
-
file:
|
|
2476
|
+
file: model.file,
|
|
2477
|
+
model: model
|
|
2479
2478
|
});
|
|
2480
2479
|
};
|
|
2481
|
-
const gltf = await loader.loadAsync(
|
|
2480
|
+
const gltf = await loader.loadAsync(url, progress);
|
|
2482
2481
|
if (!this.viewer.scene) return this;
|
|
2483
2482
|
this.viewer.scene.add(gltf.scene);
|
|
2484
2483
|
this.viewer.models.push(gltf.scene);
|
|
@@ -2488,7 +2487,8 @@ class GLTFFileLoader extends Loader {
|
|
|
2488
2487
|
this.viewer.emitEvent({
|
|
2489
2488
|
type: "databasechunk",
|
|
2490
2489
|
data: gltf.scene,
|
|
2491
|
-
file:
|
|
2490
|
+
file: model.file,
|
|
2491
|
+
model: model
|
|
2492
2492
|
});
|
|
2493
2493
|
return this;
|
|
2494
2494
|
}
|
|
@@ -2496,10 +2496,10 @@ class GLTFFileLoader extends Loader {
|
|
|
2496
2496
|
|
|
2497
2497
|
const loaders = loadersRegistry("threejs");
|
|
2498
2498
|
|
|
2499
|
-
loaders.registerLoader("gltf", (viewer => new GLTFModelLoader(viewer)));
|
|
2500
|
-
|
|
2501
2499
|
loaders.registerLoader("gltf-file", (viewer => new GLTFFileLoader(viewer)));
|
|
2502
2500
|
|
|
2501
|
+
loaders.registerLoader("gltf-cloud-model", (viewer => new GLTFCloudModelLoader(viewer)));
|
|
2502
|
+
|
|
2503
2503
|
class Viewer extends EventEmitter2 {
|
|
2504
2504
|
constructor(client) {
|
|
2505
2505
|
super();
|
|
@@ -2577,24 +2577,24 @@ class Viewer extends EventEmitter2 {
|
|
|
2577
2577
|
}
|
|
2578
2578
|
dispose() {
|
|
2579
2579
|
this.cancel();
|
|
2580
|
+
this.clear();
|
|
2580
2581
|
this.emitEvent({
|
|
2581
2582
|
type: "dispose"
|
|
2582
2583
|
});
|
|
2584
|
+
this.removeAllListeners();
|
|
2585
|
+
this.setActiveDragger();
|
|
2583
2586
|
this._components.forEach((component => component.dispose()));
|
|
2584
2587
|
this._components = [];
|
|
2585
|
-
this.setActiveDragger();
|
|
2586
|
-
this.removeAllListeners();
|
|
2587
|
-
this.clear();
|
|
2588
2588
|
this._markup.dispose();
|
|
2589
2589
|
if (this.canvas) {
|
|
2590
2590
|
this.canvasEvents.forEach((x => this.canvas.removeEventListener(x, this.canvaseventlistener)));
|
|
2591
2591
|
this.canvas = undefined;
|
|
2592
2592
|
}
|
|
2593
2593
|
if (this.renderer) this.renderer.dispose();
|
|
2594
|
+
this.helpers = undefined;
|
|
2595
|
+
this.scene = undefined;
|
|
2594
2596
|
this.renderer = undefined;
|
|
2595
2597
|
this.camera = undefined;
|
|
2596
|
-
this.scene = undefined;
|
|
2597
|
-
this.helpers = undefined;
|
|
2598
2598
|
return this;
|
|
2599
2599
|
}
|
|
2600
2600
|
isInitialized() {
|