@cornerstonejs/tools 1.71.2 → 1.71.4
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/cjs/eventDispatchers/cameraResetEventDispatcher.d.ts +5 -0
- package/dist/cjs/eventDispatchers/cameraResetEventDispatcher.js +32 -0
- package/dist/cjs/eventDispatchers/cameraResetEventDispatcher.js.map +1 -0
- package/dist/cjs/eventDispatchers/index.d.ts +2 -1
- package/dist/cjs/eventDispatchers/index.js +3 -1
- package/dist/cjs/eventDispatchers/index.js.map +1 -1
- package/dist/cjs/store/addEnabledElement.js +1 -0
- package/dist/cjs/store/addEnabledElement.js.map +1 -1
- package/dist/cjs/store/removeEnabledElement.js +1 -0
- package/dist/cjs/store/removeEnabledElement.js.map +1 -1
- package/dist/cjs/tools/CrosshairsTool.d.ts +1 -0
- package/dist/cjs/tools/CrosshairsTool.js +11 -0
- package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
- package/dist/esm/eventDispatchers/cameraResetEventDispatcher.js +27 -0
- package/dist/esm/eventDispatchers/cameraResetEventDispatcher.js.map +1 -0
- package/dist/esm/eventDispatchers/index.js +2 -1
- package/dist/esm/eventDispatchers/index.js.map +1 -1
- package/dist/esm/store/addEnabledElement.js +2 -1
- package/dist/esm/store/addEnabledElement.js.map +1 -1
- package/dist/esm/store/removeEnabledElement.js +2 -1
- package/dist/esm/store/removeEnabledElement.js.map +1 -1
- package/dist/esm/tools/CrosshairsTool.js +11 -0
- package/dist/esm/tools/CrosshairsTool.js.map +1 -1
- package/dist/types/eventDispatchers/cameraResetEventDispatcher.d.ts +6 -0
- package/dist/types/eventDispatchers/cameraResetEventDispatcher.d.ts.map +1 -0
- package/dist/types/eventDispatchers/index.d.ts +2 -1
- package/dist/types/store/addEnabledElement.d.ts.map +1 -1
- package/dist/types/store/removeEnabledElement.d.ts.map +1 -1
- package/dist/types/tools/CrosshairsTool.d.ts +1 -0
- package/dist/types/tools/CrosshairsTool.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/eventDispatchers/cameraResetEventDispatcher.ts +41 -0
- package/src/eventDispatchers/index.js +2 -0
- package/src/store/addEnabledElement.ts +2 -0
- package/src/store/removeEnabledElement.ts +2 -0
- package/src/tools/CrosshairsTool.ts +18 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.71.
|
|
3
|
+
"version": "1.71.4",
|
|
4
4
|
"description": "Cornerstone3D Tools",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cornerstonejs/core": "^1.71.
|
|
32
|
+
"@cornerstonejs/core": "^1.71.4",
|
|
33
33
|
"@icr/polyseg-wasm": "0.4.0",
|
|
34
34
|
"@types/offscreencanvas": "2019.7.3",
|
|
35
35
|
"comlink": "^4.4.1",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"type": "individual",
|
|
60
60
|
"url": "https://ohif.org/donate"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "c80a68cc56c7e2c96168051a6e2b8d83dab91cc0"
|
|
63
63
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Enums, Types } from '@cornerstonejs/core';
|
|
2
|
+
import { ToolModes } from '../enums';
|
|
3
|
+
import getToolsWithModesForMouseEvent from './shared/getToolsWithModesForMouseEvent';
|
|
4
|
+
|
|
5
|
+
const { Active, Passive, Enabled } = ToolModes;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* When the camera is reset, check what tools need to react to this.
|
|
9
|
+
*
|
|
10
|
+
* - First we get all tools which are active, passive or enabled on the element.
|
|
11
|
+
* - If any of these tools have a `onCameraReset` method, we call it.
|
|
12
|
+
*
|
|
13
|
+
* @param evt - The normalized camera reset event.
|
|
14
|
+
*/
|
|
15
|
+
const onCameraReset = function (evt: Types.EventTypes.CameraResetEvent) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
const enabledTools = getToolsWithModesForMouseEvent(evt, [
|
|
18
|
+
Active,
|
|
19
|
+
Passive,
|
|
20
|
+
Enabled,
|
|
21
|
+
]);
|
|
22
|
+
|
|
23
|
+
enabledTools.forEach((tool) => {
|
|
24
|
+
if (tool.onResetCamera) {
|
|
25
|
+
tool.onResetCamera(evt);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const enable = function (element) {
|
|
31
|
+
element.addEventListener(Enums.Events.CAMERA_RESET, onCameraReset);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const disable = function (element) {
|
|
35
|
+
element.removeEventListener(Enums.Events.CAMERA_RESET, onCameraReset);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default {
|
|
39
|
+
enable,
|
|
40
|
+
disable,
|
|
41
|
+
};
|
|
@@ -5,6 +5,7 @@ import cameraModifiedEventDispatcher from './cameraModifiedEventDispatcher';
|
|
|
5
5
|
import imageSpacingCalibratedEventDispatcher from './imageSpacingCalibratedEventDispatcher';
|
|
6
6
|
import touchToolEventDispatcher from './touchToolEventDispatcher';
|
|
7
7
|
import annotationInterpolationEventDispatcher from './annotationInterpolationEventDispatcher';
|
|
8
|
+
import cameraResetEventDispatcher from './cameraResetEventDispatcher';
|
|
8
9
|
|
|
9
10
|
export {
|
|
10
11
|
imageRenderedEventDispatcher,
|
|
@@ -14,4 +15,5 @@ export {
|
|
|
14
15
|
imageSpacingCalibratedEventDispatcher,
|
|
15
16
|
touchToolEventDispatcher,
|
|
16
17
|
annotationInterpolationEventDispatcher,
|
|
18
|
+
cameraResetEventDispatcher,
|
|
17
19
|
};
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
touchToolEventDispatcher,
|
|
14
14
|
keyboardToolEventDispatcher,
|
|
15
15
|
imageSpacingCalibratedEventDispatcher,
|
|
16
|
+
cameraResetEventDispatcher,
|
|
16
17
|
} from '../eventDispatchers';
|
|
17
18
|
import { state } from './state';
|
|
18
19
|
|
|
@@ -48,6 +49,7 @@ export default function addEnabledElement(
|
|
|
48
49
|
imageRenderedEventDispatcher.enable(element);
|
|
49
50
|
cameraModifiedEventDispatcher.enable(element);
|
|
50
51
|
imageSpacingCalibratedEventDispatcher.enable(element);
|
|
52
|
+
cameraResetEventDispatcher.enable(element);
|
|
51
53
|
// Dispatchers: interaction
|
|
52
54
|
mouseToolEventDispatcher.enable(element);
|
|
53
55
|
keyboardToolEventDispatcher.enable(element);
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
keyboardToolEventDispatcher,
|
|
14
14
|
imageSpacingCalibratedEventDispatcher,
|
|
15
15
|
touchToolEventDispatcher,
|
|
16
|
+
cameraResetEventDispatcher,
|
|
16
17
|
} from '../eventDispatchers';
|
|
17
18
|
// ~~
|
|
18
19
|
|
|
@@ -52,6 +53,7 @@ function removeEnabledElement(
|
|
|
52
53
|
imageRenderedEventDispatcher.disable(element);
|
|
53
54
|
cameraModifiedEventDispatcher.disable(element);
|
|
54
55
|
imageSpacingCalibratedEventDispatcher.disable(element);
|
|
56
|
+
cameraResetEventDispatcher.disable(element);
|
|
55
57
|
|
|
56
58
|
// Dispatchers: interaction
|
|
57
59
|
mouseToolEventDispatcher.disable(element);
|
|
@@ -319,6 +319,19 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
319
319
|
renderingEngineId
|
|
320
320
|
);
|
|
321
321
|
const { viewport } = enabledElement;
|
|
322
|
+
const resetPan = true;
|
|
323
|
+
const resetZoom = true;
|
|
324
|
+
const resetToCenter = true;
|
|
325
|
+
const resetRotation = true;
|
|
326
|
+
const supressEvents = true;
|
|
327
|
+
viewport.resetCamera(
|
|
328
|
+
resetPan,
|
|
329
|
+
resetZoom,
|
|
330
|
+
resetToCenter,
|
|
331
|
+
resetRotation,
|
|
332
|
+
supressEvents
|
|
333
|
+
);
|
|
334
|
+
(viewport as Types.IVolumeViewport).resetSlabThickness();
|
|
322
335
|
const { element } = viewport;
|
|
323
336
|
let annotations = this._getAnnotations(enabledElement);
|
|
324
337
|
annotations = this.filterInteractableAnnotationsForElement(
|
|
@@ -328,6 +341,7 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
328
341
|
if (annotations.length) {
|
|
329
342
|
removeAnnotation(annotations[0].annotationUID);
|
|
330
343
|
}
|
|
344
|
+
viewport.render();
|
|
331
345
|
});
|
|
332
346
|
|
|
333
347
|
this.computeToolCenter(viewportsInfo);
|
|
@@ -684,6 +698,10 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
684
698
|
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
685
699
|
};
|
|
686
700
|
|
|
701
|
+
onResetCamera = (evt) => {
|
|
702
|
+
this.resetCrosshairs();
|
|
703
|
+
};
|
|
704
|
+
|
|
687
705
|
mouseMoveCallback = (
|
|
688
706
|
evt: EventTypes.MouseMoveEventType,
|
|
689
707
|
filteredToolAnnotations: Annotations
|