@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.
- package/dist/viewer-three.js +28 -1
- package/dist/viewer-three.js.map +1 -1
- package/dist/viewer-three.min.js +3 -3
- package/dist/viewer-three.module.js +28 -1
- package/dist/viewer-three.module.js.map +1 -1
- package/lib/Viewer/components/ResetComponent.d.ts +10 -0
- package/package.json +5 -5
- package/src/Viewer/commands/ResetView.ts +5 -1
- package/src/Viewer/components/ResetComponent.ts +64 -0
- package/src/Viewer/components/index.ts +2 -0
|
@@ -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
|
-
|
|
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 = {}) {
|