@inweb/viewer-visualize 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.
@@ -2421,7 +2421,39 @@ components.registerComponent("ZoomWheelComponent", (viewer => new ZoomWheelCompo
2421
2421
 
2422
2422
  components.registerComponent("GestureManagerComponent", (viewer => new GestureManagerComponent(viewer)));
2423
2423
 
2424
- class VSFModelLoader extends Loader {
2424
+ class VSFBufferLoader extends Loader {
2425
+ constructor(viewer) {
2426
+ super();
2427
+ this.viewer = viewer;
2428
+ }
2429
+ isSupport(file, format) {
2430
+ return file instanceof ArrayBuffer && /vsf$/i.test(format);
2431
+ }
2432
+ load(buffer, format) {
2433
+ if (!this.viewer.visualizeJs) return Promise.resolve(this);
2434
+ const visLib = this.viewer.visLib();
2435
+ const visViewer = visLib.getViewer();
2436
+ const data = new Uint8Array(buffer);
2437
+ visViewer.parseFile(data);
2438
+ this.viewer.syncOpenCloudVisualStyle(false);
2439
+ this.viewer.syncOptions();
2440
+ this.viewer.syncOverlay();
2441
+ this.viewer.resize();
2442
+ this.viewer.emitEvent({
2443
+ type: "geometryprogress",
2444
+ data: 1,
2445
+ file: buffer
2446
+ });
2447
+ this.viewer.emitEvent({
2448
+ type: "databasechunk",
2449
+ data: data,
2450
+ file: buffer
2451
+ });
2452
+ return Promise.resolve(this);
2453
+ }
2454
+ }
2455
+
2456
+ class VSFCloudModelLoader extends Loader {
2425
2457
  constructor(viewer) {
2426
2458
  super();
2427
2459
  this.viewer = viewer;
@@ -2477,20 +2509,20 @@ class VSFModelLoader extends Loader {
2477
2509
  }
2478
2510
  }
2479
2511
 
2480
- class VSFBufferLoader extends Loader {
2512
+ class VSFXBufferLoader extends Loader {
2481
2513
  constructor(viewer) {
2482
2514
  super();
2483
2515
  this.viewer = viewer;
2484
2516
  }
2485
2517
  isSupport(file, format) {
2486
- return file instanceof ArrayBuffer && /vsf$/i.test(format);
2518
+ return file instanceof ArrayBuffer && /vsfx$/i.test(format);
2487
2519
  }
2488
2520
  load(buffer, format) {
2489
2521
  if (!this.viewer.visualizeJs) return Promise.resolve(this);
2490
2522
  const visLib = this.viewer.visLib();
2491
2523
  const visViewer = visLib.getViewer();
2492
2524
  const data = new Uint8Array(buffer);
2493
- visViewer.parseFile(data);
2525
+ visViewer.parseVsfx(data);
2494
2526
  this.viewer.syncOpenCloudVisualStyle(false);
2495
2527
  this.viewer.syncOptions();
2496
2528
  this.viewer.syncOverlay();
@@ -2509,7 +2541,7 @@ class VSFBufferLoader extends Loader {
2509
2541
  }
2510
2542
  }
2511
2543
 
2512
- class VSFXModelLoader extends Loader {
2544
+ class VSFXCloudModelLoader extends Loader {
2513
2545
  constructor(viewer) {
2514
2546
  super();
2515
2547
  this.viewer = viewer;
@@ -2581,13 +2613,13 @@ class UpdateController {
2581
2613
  }
2582
2614
  }
2583
2615
 
2584
- class VSFXStreamingLoader extends Loader {
2616
+ class VSFXCloudStreamingLoader extends Loader {
2585
2617
  constructor(viewer) {
2586
2618
  super();
2587
2619
  this.viewer = viewer;
2588
2620
  }
2589
2621
  isSupport(file) {
2590
- return typeof file === "object" && typeof file.downloadResource === "function" && /.vsfx$/i.test(file.database) && this.viewer.options.enableStreamingMode === true && this.viewer.options.enablePartialMode === false && !/.rcs$/i.test(file.name);
2622
+ return typeof file === "object" && typeof file.database === "string" && typeof file.downloadResource === "function" && /.vsfx$/i.test(file.database) && this.viewer.options.enableStreamingMode === true && this.viewer.options.enablePartialMode === false && !/.rcs$/i.test(file.name);
2591
2623
  }
2592
2624
  async load(model) {
2593
2625
  if (!this.viewer.visualizeJs) return this;
@@ -2644,14 +2676,14 @@ const PENDING_REQUESTS_SIZE = 50;
2644
2676
 
2645
2677
  const PENDING_REQUESTS_TIMEOUT = 250;
2646
2678
 
2647
- class VSFXPartialLoader extends Loader {
2679
+ class VSFXCloudPartialLoader extends Loader {
2648
2680
  constructor(viewer) {
2649
2681
  super();
2650
2682
  this.viewer = viewer;
2651
2683
  this.abortControllerForRequestMap = new Map;
2652
2684
  }
2653
2685
  isSupport(file) {
2654
- return typeof file === "object" && typeof file.downloadResource === "function" && /.vsfx$/i.test(file.database) && (this.viewer.options.enablePartialMode === true || /.rcs$/i.test(file.name));
2686
+ return typeof file === "object" && typeof file.database === "string" && typeof file.downloadResource === "function" && /.vsfx$/i.test(file.database) && (this.viewer.options.enablePartialMode === true || /.rcs$/i.test(file.name));
2655
2687
  }
2656
2688
  async load(model, format) {
2657
2689
  if (!this.viewer.visualizeJs) return this;
@@ -2820,51 +2852,19 @@ class VSFXPartialLoader extends Loader {
2820
2852
  }
2821
2853
  }
2822
2854
 
2823
- class VSFXBufferLoader extends Loader {
2824
- constructor(viewer) {
2825
- super();
2826
- this.viewer = viewer;
2827
- }
2828
- isSupport(file, format) {
2829
- return file instanceof ArrayBuffer && /vsfx$/i.test(format);
2830
- }
2831
- load(buffer, format) {
2832
- if (!this.viewer.visualizeJs) return Promise.resolve(this);
2833
- const visLib = this.viewer.visLib();
2834
- const visViewer = visLib.getViewer();
2835
- const data = new Uint8Array(buffer);
2836
- visViewer.parseVsfx(data);
2837
- this.viewer.syncOpenCloudVisualStyle(false);
2838
- this.viewer.syncOptions();
2839
- this.viewer.syncOverlay();
2840
- this.viewer.resize();
2841
- this.viewer.emitEvent({
2842
- type: "geometryprogress",
2843
- data: 1,
2844
- file: buffer
2845
- });
2846
- this.viewer.emitEvent({
2847
- type: "databasechunk",
2848
- data: data,
2849
- file: buffer
2850
- });
2851
- return Promise.resolve(this);
2852
- }
2853
- }
2854
-
2855
2855
  const loaders = loadersRegistry("visualizejs");
2856
2856
 
2857
- loaders.registerLoader("vsf", (viewer => new VSFModelLoader(viewer)));
2858
-
2859
2857
  loaders.registerLoader("vsf-buffer", (viewer => new VSFBufferLoader(viewer)));
2860
2858
 
2861
- loaders.registerLoader("vsfx", (viewer => new VSFXModelLoader(viewer)));
2859
+ loaders.registerLoader("vsf-cloud-model", (viewer => new VSFCloudModelLoader(viewer)));
2862
2860
 
2863
- loaders.registerLoader("vsfx-streaming", (viewer => new VSFXStreamingLoader(viewer)));
2861
+ loaders.registerLoader("vsfx-buffer", (viewer => new VSFXBufferLoader(viewer)));
2864
2862
 
2865
- loaders.registerLoader("vsfx-partial", (viewer => new VSFXPartialLoader(viewer)));
2863
+ loaders.registerLoader("vsfx-cloud-model", (viewer => new VSFXCloudModelLoader(viewer)));
2866
2864
 
2867
- loaders.registerLoader("vsfx-buffer", (viewer => new VSFXBufferLoader(viewer)));
2865
+ loaders.registerLoader("vsfx-cloud-streaming", (viewer => new VSFXCloudStreamingLoader(viewer)));
2866
+
2867
+ loaders.registerLoader("vsfx-cloud-partial", (viewer => new VSFXCloudPartialLoader(viewer)));
2868
2868
 
2869
2869
  function loadScript(url, params = {}) {
2870
2870
  return new Promise(((resolve, reject) => {
@@ -3326,13 +3326,14 @@ class Viewer extends EventEmitter2 {
3326
3326
  }
3327
3327
  dispose() {
3328
3328
  this.cancel();
3329
+ this.clear();
3329
3330
  this.emitEvent({
3330
3331
  type: "dispose"
3331
3332
  });
3333
+ this.removeAllListeners();
3334
+ this.setActiveDragger();
3332
3335
  this._components.forEach((component => component.dispose()));
3333
3336
  this._components = [];
3334
- this.setActiveDragger();
3335
- this.removeAllListeners();
3336
3337
  this._markup.dispose();
3337
3338
  if (this.canvas) {
3338
3339
  this.canvasEvents.forEach((x => this.canvas.removeEventListener(x, this.canvaseventlistener)));