@cornerstonejs/tools 0.30.0 → 0.30.1

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.
@@ -49,19 +49,24 @@ class ZoomTool extends base_1.BaseTool {
49
49
  focalPointToSet = gl_matrix_1.vec3.scaleAndAdd(gl_matrix_1.vec3.create(), focalPoint, this.dirVec, -distanceToCanvasCenter * k);
50
50
  }
51
51
  const imageData = viewport.getImageData();
52
- const { spacing } = imageData;
52
+ let spacing = [1, 1, 1];
53
+ if (imageData) {
54
+ spacing = imageData.spacing;
55
+ }
53
56
  const { minZoomScale, maxZoomScale } = this.configuration;
54
57
  const t = element.clientHeight * spacing[1] * 0.5;
55
58
  const scale = t / parallelScaleToSet;
56
59
  let cappedParallelScale = parallelScaleToSet;
57
60
  let thresholdExceeded = false;
58
- if (scale < minZoomScale) {
59
- cappedParallelScale = t / minZoomScale;
60
- thresholdExceeded = true;
61
- }
62
- else if (scale >= maxZoomScale) {
63
- cappedParallelScale = t / maxZoomScale;
64
- thresholdExceeded = true;
61
+ if (imageData) {
62
+ if (scale < minZoomScale) {
63
+ cappedParallelScale = t / minZoomScale;
64
+ thresholdExceeded = true;
65
+ }
66
+ else if (scale >= maxZoomScale) {
67
+ cappedParallelScale = t / maxZoomScale;
68
+ thresholdExceeded = true;
69
+ }
65
70
  }
66
71
  viewport.setCamera({
67
72
  parallelScale: cappedParallelScale,
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomTool.js","sourceRoot":"","sources":["../../../src/tools/ZoomTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZoomTool.js","sourceRoot":"","sources":["../../../src/tools/ZoomTool.ts"],"names":[],"mappings":"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"}
@@ -44,19 +44,24 @@ class ZoomTool extends BaseTool {
44
44
  focalPointToSet = vec3.scaleAndAdd(vec3.create(), focalPoint, this.dirVec, -distanceToCanvasCenter * k);
45
45
  }
46
46
  const imageData = viewport.getImageData();
47
- const { spacing } = imageData;
47
+ let spacing = [1, 1, 1];
48
+ if (imageData) {
49
+ spacing = imageData.spacing;
50
+ }
48
51
  const { minZoomScale, maxZoomScale } = this.configuration;
49
52
  const t = element.clientHeight * spacing[1] * 0.5;
50
53
  const scale = t / parallelScaleToSet;
51
54
  let cappedParallelScale = parallelScaleToSet;
52
55
  let thresholdExceeded = false;
53
- if (scale < minZoomScale) {
54
- cappedParallelScale = t / minZoomScale;
55
- thresholdExceeded = true;
56
- }
57
- else if (scale >= maxZoomScale) {
58
- cappedParallelScale = t / maxZoomScale;
59
- thresholdExceeded = true;
56
+ if (imageData) {
57
+ if (scale < minZoomScale) {
58
+ cappedParallelScale = t / minZoomScale;
59
+ thresholdExceeded = true;
60
+ }
61
+ else if (scale >= maxZoomScale) {
62
+ cappedParallelScale = t / maxZoomScale;
63
+ thresholdExceeded = true;
64
+ }
60
65
  }
61
66
  viewport.setCamera({
62
67
  parallelScale: cappedParallelScale,
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomTool.js","sourceRoot":"","sources":["../../../src/tools/ZoomTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZoomTool.js","sourceRoot":"","sources":["../../../src/tools/ZoomTool.ts"],"names":[],"mappings":"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"}