@inweb/viewer-three 26.9.6 → 26.9.7

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.
@@ -1825,6 +1825,7 @@ function regenerateAll(viewer) {
1825
1825
  }
1826
1826
 
1827
1827
  function resetView(viewer) {
1828
+ const reset = viewer.getComponent("ResetComponent");
1828
1829
  viewer.executeCommand("setActiveDragger");
1829
1830
  viewer.executeCommand("clearSlices");
1830
1831
  viewer.executeCommand("clearOverlay");
@@ -1833,7 +1834,7 @@ function resetView(viewer) {
1833
1834
  viewer.executeCommand("showAll");
1834
1835
  viewer.executeCommand("explode", 0);
1835
1836
  viewer.executeCommand("zoomToExtents", true);
1836
- viewer.executeCommand("k3DViewSW");
1837
+ reset.resetCameraPosition();
1837
1838
  viewer.emit({ type: "resetview" });
1838
1839
  }
1839
1840
 
@@ -2571,6 +2572,31 @@ class WCSHelperComponent {
2571
2572
  }
2572
2573
  }
2573
2574
 
2575
+ class ResetComponent {
2576
+ constructor(viewer) {
2577
+ this.savedCameraPosition = null;
2578
+ this.onDatabaseChunk = () => {
2579
+ this.savedCameraPosition = {
2580
+ position: this.viewer.camera.position.clone(),
2581
+ up: this.viewer.camera.up.clone(),
2582
+ direction: this.viewer.camera.getWorldDirection(new Vector3()),
2583
+ };
2584
+ };
2585
+ this.viewer = viewer;
2586
+ this.viewer.addEventListener("databasechunk", this.onDatabaseChunk);
2587
+ }
2588
+ dispose() {
2589
+ this.viewer.removeEventListener("databasechunk", this.onDatabaseChunk);
2590
+ }
2591
+ resetCameraPosition() {
2592
+ if (this.savedCameraPosition) {
2593
+ this.viewer.camera.position.copy(this.savedCameraPosition.position);
2594
+ this.viewer.camera.up.copy(this.savedCameraPosition.up);
2595
+ this.viewer.camera.lookAt(this.savedCameraPosition.position.clone().add(this.savedCameraPosition.direction));
2596
+ }
2597
+ }
2598
+ }
2599
+
2574
2600
  const components = componentsRegistry("threejs");
2575
2601
  components.registerComponent("ExtentsComponent", (viewer) => new ExtentsComponent(viewer));
2576
2602
  components.registerComponent("CameraComponent", (viewer) => new CameraComponent(viewer));
@@ -2581,6 +2607,7 @@ components.registerComponent("RenderLoopComponent", (viewer) => new RenderLoopCo
2581
2607
  components.registerComponent("HighlighterComponent", (viewer) => new HighlighterComponent(viewer));
2582
2608
  components.registerComponent("SelectionComponent", (viewer) => new SelectionComponent(viewer));
2583
2609
  components.registerComponent("WCSHelperComponent", (viewer) => new WCSHelperComponent(viewer));
2610
+ components.registerComponent("ResetComponent", (viewer) => new ResetComponent(viewer));
2584
2611
 
2585
2612
  class GLTFLoadingManager extends LoadingManager {
2586
2613
  constructor(file, params = {}) {