Skip to content

Commit 5644bad

Browse files
authored
Merge pull request #742 from PaulHax/fix-layout-change
fix(VtkViews): reset clipping planes on view layout change
2 parents 4e40ace + 459f6d5 commit 5644bad

5 files changed

Lines changed: 12 additions & 9 deletions

File tree

src/components/SliceViewer.vue

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
class="vtk-view"
4141
ref="vtkView"
4242
data-testid="vtk-view vtk-two-view"
43-
:disable-auto-reset-camera="disableCameraAutoReset"
4443
:view-id="id"
4544
:image-id="currentImageID"
4645
:view-direction="viewDirection"
@@ -186,7 +185,6 @@ import SliceSlider from '@/src/components/SliceSlider.vue';
186185
import SliceViewerOverlay from '@/src/components/SliceViewerOverlay.vue';
187186
import { useToolSelectionStore } from '@/src/store/tools/toolSelection';
188187
import { useAnnotationToolStore, useToolStore } from '@/src/store/tools';
189-
import { useViewCameraStore } from '@/src/store/view-configs/camera';
190188
import { doesToolFrameMatchViewAxis } from '@/src/composables/annotationTool';
191189
import { useWebGLWatchdog } from '@/src/composables/useWebGLWatchdog';
192190
import { useSliceConfig } from '@/src/composables/useSliceConfig';
@@ -211,8 +209,6 @@ const segSliceReps = ref([]);
211209
212210
const props = defineProps<Props>();
213211
214-
const { disableCameraAutoReset } = storeToRefs(useViewCameraStore());
215-
216212
const { id: viewId, type: viewType, viewDirection, viewUp } = toRefs(props);
217213
const viewAxis = computed(() => getLPSAxisFromDir(viewDirection.value));
218214

src/components/vtk/VtkSliceView.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ interface Props {
2020
imageId: Maybe<string>;
2121
viewDirection: LPSAxisDir;
2222
viewUp: LPSAxisDir;
23-
disableAutoResetCamera?: boolean;
2423
}
2524
2625
const props = defineProps<Props>();
@@ -91,8 +90,11 @@ function resetCamera() {
9190
}
9291
9392
watchImmediate([imageMetadata, disableCameraAutoReset], () => {
94-
if (!imageMetadata.value || disableCameraAutoReset.value) return;
95-
if (viewCameraStore.isCameraInitialized(viewID.value, imageID.value)) {
93+
if (!imageMetadata.value) return;
94+
if (
95+
viewCameraStore.isCameraInitialized(viewID.value, imageID.value) ||
96+
disableCameraAutoReset.value
97+
) {
9698
view.renderer.resetCameraClippingRange(imageMetadata.value.worldBounds);
9799
return;
98100
}

src/components/vtk/VtkVolumeView.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,11 @@ function resetCamera() {
102102
}
103103
104104
watchImmediate([imageMetadata, disableCameraAutoReset], () => {
105-
if (!imageMetadata.value || disableCameraAutoReset.value) return;
106-
if (viewCameraStore.isCameraInitialized(viewID.value, imageID.value)) {
105+
if (!imageMetadata.value) return;
106+
if (
107+
viewCameraStore.isCameraInitialized(viewID.value, imageID.value) ||
108+
disableCameraAutoReset.value
109+
) {
107110
view.renderer.resetCameraClippingRange(imageMetadata.value.worldBounds);
108111
return;
109112
}

src/core/vtk/useVtkView.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ export function useVtkView(container: MaybeRef<Maybe<HTMLElement>>): View {
119119
const scaledWidth = Math.max(1, width * globalThis.devicePixelRatio);
120120
const scaledHeight = Math.max(1, height * globalThis.devicePixelRatio);
121121
renderWindowView.setSize(scaledWidth, scaledHeight);
122+
renderer.resetCameraClippingRange();
122123
requestRender({ immediate: true });
123124
};
124125

src/store/view-configs/camera.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export const useViewCameraStore = defineStore('viewCamera', () => {
3636
patchDoubleKeyRecord(configs, viewID, dataID, config);
3737
};
3838

39+
// For disabling calls to resetCamera but not resetCameraClippingRange
3940
const disableCameraAutoReset = ref(false);
4041

4142
const toggleCameraAutoReset = () => {

0 commit comments

Comments
 (0)