@cornerstonejs/tools 0.41.1 → 0.42.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.
@@ -8,6 +8,6 @@ import * as cursors from './cursors';
8
8
  import * as Types from './types';
9
9
  import * as annotation from './stateManagement/annotation';
10
10
  import * as segmentation from './stateManagement/segmentation';
11
- import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool } from './tools';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool } from './tools';
12
12
  import * as Enums from './enums';
13
- export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
package/dist/cjs/index.js CHANGED
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.segmentation = exports.annotation = exports.drawing = exports.CONSTANTS = exports.Enums = exports.ToolGroupManager = exports.state = exports.Types = exports.PaintFillTool = exports.SynchronizerManager = exports.Synchronizer = exports.synchronizers = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ScaleOverlayTool = exports.ReferenceLines = exports.ReferenceCursors = exports.MagnifyTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.BidirectionalTool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.LengthTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.StackScrollMouseWheelTool = exports.StackScrollTool = exports.ZoomTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = exports.cancelActiveManipulations = exports.removeTool = exports.addTool = exports.destroy = exports.init = void 0;
27
- exports.cursors = exports.utilities = void 0;
26
+ exports.annotation = exports.drawing = exports.CONSTANTS = exports.Enums = exports.ToolGroupManager = exports.state = exports.Types = exports.PaintFillTool = exports.SynchronizerManager = exports.Synchronizer = exports.synchronizers = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ScaleOverlayTool = exports.ReferenceLines = exports.ReferenceCursors = exports.MagnifyTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.BidirectionalTool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.LengthTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.StackScrollMouseWheelTool = exports.StackRotateTool = exports.StackScrollTool = exports.ZoomTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = exports.cancelActiveManipulations = exports.removeTool = exports.addTool = exports.destroy = exports.init = void 0;
27
+ exports.cursors = exports.utilities = exports.segmentation = void 0;
28
28
  const init_1 = require("./init");
29
29
  Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
30
30
  Object.defineProperty(exports, "destroy", { enumerable: true, get: function () { return init_1.destroy; } });
@@ -61,6 +61,7 @@ Object.defineProperty(exports, "DragProbeTool", { enumerable: true, get: functio
61
61
  Object.defineProperty(exports, "WindowLevelTool", { enumerable: true, get: function () { return tools_1.WindowLevelTool; } });
62
62
  Object.defineProperty(exports, "ZoomTool", { enumerable: true, get: function () { return tools_1.ZoomTool; } });
63
63
  Object.defineProperty(exports, "StackScrollTool", { enumerable: true, get: function () { return tools_1.StackScrollTool; } });
64
+ Object.defineProperty(exports, "StackRotateTool", { enumerable: true, get: function () { return tools_1.StackRotateTool; } });
64
65
  Object.defineProperty(exports, "StackScrollMouseWheelTool", { enumerable: true, get: function () { return tools_1.StackScrollMouseWheelTool; } });
65
66
  Object.defineProperty(exports, "VolumeRotateMouseWheelTool", { enumerable: true, get: function () { return tools_1.VolumeRotateMouseWheelTool; } });
66
67
  Object.defineProperty(exports, "MIPJumpToClickTool", { enumerable: true, get: function () { return tools_1.MIPJumpToClickTool; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAuC;AA+DrC,qFA/DO,WAAI,OA+DP;AACJ,wFAhEa,cAAO,OAgEb;AA/DT,mCAQiB;AAwDf,wFA/DA,eAAO,OA+DA;AACP,2FA/DA,kBAAU,OA+DA;AA8CV,sFA5GA,aAAK,OA4GA;AAEL,iGA7GA,wBAAgB,OA6GA;AALhB,oGAvGA,2BAAmB,OAuGA;AADnB,6FArGA,oBAAY,OAqGA;AAzCZ,0GA3DA,iCAAyB,OA2DA;AAxD3B,uDAAyC;AA2GvC,8BAAS;AAxGX,+DAAiD;AA6F/C,sCAAa;AA5Ff,sDAAwC;AAyGtC,0BAAO;AAxGT,uDAAyC;AA8GvC,8BAAS;AA7GX,mDAAqC;AA8GnC,0BAAO;AA7GT,+CAAiC;AA6F/B,sBAAK;AA5FP,yEAA2D;AAuGzD,gCAAU;AAtGZ,6EAA+D;AAwG7D,oCAAY;AAtGd,mCAmCiB;AAYf,yFA9CA,gBAAQ,OA8CA;AACR,+FA9CA,sBAAc,OA8CA;AAEd,wFA/CA,eAAO,OA+CA;AACP,oGA/CA,2BAAmB,OA+CA;AACnB,8FA/CA,qBAAa,OA+CA;AACb,gGA/CA,uBAAe,OA+CA;AACf,yFA/CA,gBAAQ,OA+CA;AACR,gGA/CA,uBAAe,OA+CA;AACf,0GA/CA,iCAAyB,OA+CA;AACzB,2GA/CA,kCAA0B,OA+CA;AAC1B,mGA/CA,0BAAkB,OA+CA;AAElB,2FAhDA,kBAAU,OAgDA;AAGV,0FAlDA,iBAAS,OAkDA;AACT,iGAlDA,wBAAgB,OAkDA;AAChB,kGAlDA,yBAAiB,OAkDA;AACjB,kGAlDA,yBAAiB,OAkDA;AACjB,sGAlDA,6BAAqB,OAkDA;AACrB,kGAlDA,yBAAiB,OAkDA;AAPjB,+FA1CA,sBAAc,OA0CA;AACd,mGA1CA,0BAAkB,OA0CA;AAgBlB,sGAzDA,6BAAqB,OAyDA;AACrB,mGAzDA,0BAAkB,OAyDA;AAClB,mGAzDA,0BAAkB,OAyDA;AAClB,0GAzDA,iCAAyB,OAyDA;AACzB,kHAzDA,yCAAiC,OAyDA;AANjC,wGAlDA,+BAAuB,OAkDA;AAOvB,0FAxDA,iBAAS,OAwDA;AAdT,0FAzCA,iBAAS,OAyCA;AACT,8FAzCA,qBAAa,OAyCA;AACb,4FAzCA,mBAAW,OAyCA;AACX,iGAzCA,wBAAgB,OAyCA;AAChB,+FAzCA,sBAAc,OAyCA;AAed,8FAvDA,qBAAa,OAuDA;AAdb,iGAxCA,wBAAgB,OAwCA;AArClB,+CAAiC;AAyD/B,sBAAK"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAuC;AAgErC,qFAhEO,WAAI,OAgEP;AACJ,wFAjEa,cAAO,OAiEb;AAhET,mCAQiB;AAyDf,wFAhEA,eAAO,OAgEA;AACP,2FAhEA,kBAAU,OAgEA;AA+CV,sFA9GA,aAAK,OA8GA;AAEL,iGA/GA,wBAAgB,OA+GA;AALhB,oGAzGA,2BAAmB,OAyGA;AADnB,6FAvGA,oBAAY,OAuGA;AA1CZ,0GA5DA,iCAAyB,OA4DA;AAzD3B,uDAAyC;AA6GvC,8BAAS;AA1GX,+DAAiD;AA+F/C,sCAAa;AA9Ff,sDAAwC;AA2GtC,0BAAO;AA1GT,uDAAyC;AAgHvC,8BAAS;AA/GX,mDAAqC;AAgHnC,0BAAO;AA/GT,+CAAiC;AA+F/B,sBAAK;AA9FP,yEAA2D;AAyGzD,gCAAU;AAxGZ,6EAA+D;AA0G7D,oCAAY;AAxGd,mCAoCiB;AAYf,yFA/CA,gBAAQ,OA+CA;AACR,+FA/CA,sBAAc,OA+CA;AAEd,wFAhDA,eAAO,OAgDA;AACP,oGAhDA,2BAAmB,OAgDA;AACnB,8FAhDA,qBAAa,OAgDA;AACb,gGAhDA,uBAAe,OAgDA;AACf,yFAhDA,gBAAQ,OAgDA;AACR,gGAhDA,uBAAe,OAgDA;AACf,gGAhDA,uBAAe,OAgDA;AACf,0GAhDA,iCAAyB,OAgDA;AACzB,2GAhDA,kCAA0B,OAgDA;AAC1B,mGAhDA,0BAAkB,OAgDA;AAElB,2FAjDA,kBAAU,OAiDA;AAGV,0FAnDA,iBAAS,OAmDA;AACT,iGAnDA,wBAAgB,OAmDA;AAChB,kGAnDA,yBAAiB,OAmDA;AACjB,kGAnDA,yBAAiB,OAmDA;AACjB,sGAnDA,6BAAqB,OAmDA;AACrB,kGAnDA,yBAAiB,OAmDA;AAPjB,+FA3CA,sBAAc,OA2CA;AACd,mGA3CA,0BAAkB,OA2CA;AAgBlB,sGA1DA,6BAAqB,OA0DA;AACrB,mGA1DA,0BAAkB,OA0DA;AAClB,mGA1DA,0BAAkB,OA0DA;AAClB,0GA1DA,iCAAyB,OA0DA;AACzB,kHA1DA,yCAAiC,OA0DA;AANjC,wGAnDA,+BAAuB,OAmDA;AAOvB,0FAzDA,iBAAS,OAyDA;AAdT,0FA1CA,iBAAS,OA0CA;AACT,8FA1CA,qBAAa,OA0CA;AACb,4FA1CA,mBAAW,OA0CA;AACX,iGA1CA,wBAAgB,OA0CA;AAChB,+FA1CA,sBAAc,OA0CA;AAed,8FAxDA,qBAAa,OAwDA;AAdb,iGAzCA,wBAAgB,OAyCA;AAtClB,+CAAiC;AA0D/B,sBAAK"}
@@ -0,0 +1,10 @@
1
+ import { BaseTool } from './base';
2
+ import { PublicToolProps, ToolProps, EventTypes } from '../types';
3
+ declare class StackRotateTool extends BaseTool {
4
+ static toolName: any;
5
+ touchDragCallback: (evt: EventTypes.MouseDragEventType) => void;
6
+ mouseDragCallback: (evt: EventTypes.MouseDragEventType) => void;
7
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
8
+ _dragCallback(evt: EventTypes.MouseDragEventType): void;
9
+ }
10
+ export default StackRotateTool;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("@cornerstonejs/core");
7
+ const gl_matrix_1 = require("gl-matrix");
8
+ const base_1 = require("./base");
9
+ const angleBetweenLines_1 = __importDefault(require("../utilities/math/angle/angleBetweenLines"));
10
+ class StackRotateTool extends base_1.BaseTool {
11
+ constructor(toolProps = {}, defaultToolProps = {
12
+ supportedInteractionTypes: ['Mouse', 'Touch'],
13
+ }) {
14
+ super(toolProps, defaultToolProps);
15
+ this.touchDragCallback = this._dragCallback.bind(this);
16
+ this.mouseDragCallback = this._dragCallback.bind(this);
17
+ }
18
+ _dragCallback(evt) {
19
+ const { element, currentPoints, startPoints } = evt.detail;
20
+ const currentPointWorld = currentPoints.world;
21
+ const startPointWorld = startPoints.world;
22
+ const enabledElement = (0, core_1.getEnabledElement)(element);
23
+ const { viewport } = enabledElement;
24
+ const camera = viewport.getCamera();
25
+ const width = element.clientWidth;
26
+ const height = element.clientHeight;
27
+ const centerCanvas = [width * 0.5, height * 0.5];
28
+ const centerWorld = viewport.canvasToWorld(centerCanvas);
29
+ let angle = (0, angleBetweenLines_1.default)([startPointWorld, centerWorld], [centerWorld, currentPointWorld]);
30
+ const { viewPlaneNormal } = camera;
31
+ const v1 = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), centerWorld, startPointWorld);
32
+ const v2 = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), centerWorld, currentPointWorld);
33
+ const cross = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), v1, v2);
34
+ if (gl_matrix_1.vec3.dot(viewPlaneNormal, cross) > 0) {
35
+ angle = -angle;
36
+ }
37
+ if (Number.isNaN(angle))
38
+ return;
39
+ const { rotation } = viewport.getProperties();
40
+ viewport.setProperties({ rotation: rotation + angle });
41
+ viewport.render();
42
+ }
43
+ }
44
+ StackRotateTool.toolName = 'StackRotate';
45
+ exports.default = StackRotateTool;
46
+ //# sourceMappingURL=StackRotateTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackRotateTool.js","sourceRoot":"","sources":["../../../src/tools/StackRotateTool.ts"],"names":[],"mappings":";;;;;AAAA,8CAA+D;AAC/D,yCAAiC;AACjC,iCAAkC;AAClC,kGAA0E;AAO1E,MAAM,eAAgB,SAAQ,eAAQ;IAKpC,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KAC9C;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,aAAa,CAAC,GAAkC;QAC9C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC;QAC9C,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QAEpC,MAAM,YAAY,GAAiB,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,KAAK,GAAG,IAAA,2BAAiB,EAC3B,CAAC,eAAe,EAAE,WAAW,CAAC,EAC9B,CAAC,WAAW,EAAE,iBAAiB,CAAC,CACjC,CAAC;QAEF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAEnC,MAAM,EAAE,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,gBAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;YACxC,KAAK,GAAG,CAAC,KAAK,CAAC;SAChB;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC;QAEvD,QAAQ,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;CACF;AAED,eAAe,CAAC,QAAQ,GAAG,aAAa,CAAC;AACzC,kBAAe,eAAe,CAAC"}
@@ -3,6 +3,7 @@ import PanTool from './PanTool';
3
3
  import TrackballRotateTool from './TrackballRotateTool';
4
4
  import WindowLevelTool from './WindowLevelTool';
5
5
  import StackScrollTool from './StackScrollTool';
6
+ import StackRotateTool from './StackRotateTool';
6
7
  import StackScrollMouseWheelTool from './StackScrollToolMouseWheelTool';
7
8
  import ZoomTool from './ZoomTool';
8
9
  import VolumeRotateMouseWheelTool from './VolumeRotateMouseWheelTool';
@@ -31,4 +32,4 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
31
32
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
32
33
  import BrushTool from './segmentation/BrushTool';
33
34
  import PaintFillTool from './segmentation/PaintFillTool';
34
- export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
35
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.MagnifyTool = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ReferenceCursors = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = void 0;
6
+ exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.MagnifyTool = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ReferenceCursors = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.StackRotateTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = void 0;
7
7
  const base_1 = require("./base");
8
8
  Object.defineProperty(exports, "BaseTool", { enumerable: true, get: function () { return base_1.BaseTool; } });
9
9
  Object.defineProperty(exports, "AnnotationTool", { enumerable: true, get: function () { return base_1.AnnotationTool; } });
@@ -15,6 +15,8 @@ const WindowLevelTool_1 = __importDefault(require("./WindowLevelTool"));
15
15
  exports.WindowLevelTool = WindowLevelTool_1.default;
16
16
  const StackScrollTool_1 = __importDefault(require("./StackScrollTool"));
17
17
  exports.StackScrollTool = StackScrollTool_1.default;
18
+ const StackRotateTool_1 = __importDefault(require("./StackRotateTool"));
19
+ exports.StackRotateTool = StackRotateTool_1.default;
18
20
  const StackScrollToolMouseWheelTool_1 = __importDefault(require("./StackScrollToolMouseWheelTool"));
19
21
  exports.StackScrollMouseWheelTool = StackScrollToolMouseWheelTool_1.default;
20
22
  const ZoomTool_1 = __importDefault(require("./ZoomTool"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAkD;AAyChD,yFAzCO,eAAQ,OAyCP;AACR,+FA1CiB,qBAAc,OA0CjB;AAzChB,wDAAgC;AA2C9B,kBA3CK,iBAAO,CA2CL;AA1CT,gFAAwD;AA2CtD,8BA3CK,6BAAmB,CA2CL;AA1CrB,wEAAgD;AA4C9C,0BA5CK,yBAAe,CA4CL;AA3CjB,wEAAgD;AA4C9C,0BA5CK,yBAAe,CA4CL;AA3CjB,oGAAwE;AA4CtE,oCA5CK,uCAAyB,CA4CL;AA3C3B,0DAAkC;AA4ChC,mBA5CK,kBAAQ,CA4CL;AA3CV,8FAAsE;AA4CpE,qCA5CK,oCAA0B,CA4CL;AA3C5B,8EAAsD;AA4CpD,6BA5CK,4BAAkB,CA4CL;AA3CpB,sEAA8C;AA6C5C,yBA7CK,wBAAc,CA6CL;AA5ChB,gEAAwC;AAiEtC,sBAjEK,qBAAW,CAiEL;AAhEb,8EAAsD;AA4CpD,6BA5CK,4BAAkB,CA4CL;AA1CpB,uFAA+D;AA2C7D,4BA3CK,2BAAiB,CA2CL;AA1CnB,yEAAiD;AA2C/C,qBA3CK,oBAAU,CA2CL;AA1CZ,uEAA+C;AA2C7C,oBA3CK,mBAAS,CA2CL;AA1CX,+EAAuD;AA8BrD,wBA9BK,uBAAa,CA8BL;AA7Bf,qFAA6D;AA0C3D,2BA1CK,0BAAgB,CA0CL;AAzClB,uFAA+D;AA0C7D,4BA1CK,2BAAiB,CA0CL;AAzCnB,+FAAuE;AA0CrE,gCA1CK,+BAAqB,CA0CL;AAzCvB,uFAA+D;AA0C7D,4BA1CK,2BAAiB,CA0CL;AAzCnB,uEAA+C;AA0C7C,oBA1CK,mBAAS,CA0CL;AAzCX,+EAAuD;AA0CrD,wBA1CK,uBAAa,CA0CL;AAzCf,0EAAkD;AA0ChD,2BA1CK,0BAAgB,CA0CL;AAzClB,8EAAkD;AAoDhD,yBApDK,4BAAc,CAoDL;AAnDhB,0EAAkD;AAqDhD,2BArDK,0BAAgB,CAqDL;AAlDlB,qGAA6E;AAuC3E,kCAvCK,iCAAuB,CAuCL;AApCzB,iGAAyE;AAsCvE,gCAtCK,+BAAqB,CAsCL;AArCvB,2FAAmE;AAsCjE,6BAtCK,4BAAkB,CAsCL;AArCpB,2FAAmE;AAsCjE,6BAtCK,4BAAkB,CAsCL;AArCpB,yGAAiF;AAsC/E,oCAtCK,mCAAyB,CAsCL;AArC3B,yHAAiG;AAsC/F,4CAtCK,2CAAiC,CAsCL;AArCnC,yEAAiD;AAsC/C,oBAtCK,mBAAS,CAsCL;AArCX,iFAAyD;AAwCvD,wBAxCK,uBAAa,CAwCL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAkD;AA0ChD,yFA1CO,eAAQ,OA0CP;AACR,+FA3CiB,qBAAc,OA2CjB;AA1ChB,wDAAgC;AA4C9B,kBA5CK,iBAAO,CA4CL;AA3CT,gFAAwD;AA4CtD,8BA5CK,6BAAmB,CA4CL;AA3CrB,wEAAgD;AA6C9C,0BA7CK,yBAAe,CA6CL;AA5CjB,wEAAgD;AA6C9C,0BA7CK,yBAAe,CA6CL;AA5CjB,wEAAgD;AA6C9C,0BA7CK,yBAAe,CA6CL;AA5CjB,oGAAwE;AA6CtE,oCA7CK,uCAAyB,CA6CL;AA5C3B,0DAAkC;AA6ChC,mBA7CK,kBAAQ,CA6CL;AA5CV,8FAAsE;AA6CpE,qCA7CK,oCAA0B,CA6CL;AA5C5B,8EAAsD;AA6CpD,6BA7CK,4BAAkB,CA6CL;AA5CpB,sEAA8C;AA8C5C,yBA9CK,wBAAc,CA8CL;AA7ChB,gEAAwC;AAkEtC,sBAlEK,qBAAW,CAkEL;AAjEb,8EAAsD;AA6CpD,6BA7CK,4BAAkB,CA6CL;AA3CpB,uFAA+D;AA4C7D,4BA5CK,2BAAiB,CA4CL;AA3CnB,yEAAiD;AA4C/C,qBA5CK,oBAAU,CA4CL;AA3CZ,uEAA+C;AA4C7C,oBA5CK,mBAAS,CA4CL;AA3CX,+EAAuD;AA8BrD,wBA9BK,uBAAa,CA8BL;AA7Bf,qFAA6D;AA2C3D,2BA3CK,0BAAgB,CA2CL;AA1ClB,uFAA+D;AA2C7D,4BA3CK,2BAAiB,CA2CL;AA1CnB,+FAAuE;AA2CrE,gCA3CK,+BAAqB,CA2CL;AA1CvB,uFAA+D;AA2C7D,4BA3CK,2BAAiB,CA2CL;AA1CnB,uEAA+C;AA2C7C,oBA3CK,mBAAS,CA2CL;AA1CX,+EAAuD;AA2CrD,wBA3CK,uBAAa,CA2CL;AA1Cf,0EAAkD;AA2ChD,2BA3CK,0BAAgB,CA2CL;AA1ClB,8EAAkD;AAqDhD,yBArDK,4BAAc,CAqDL;AApDhB,0EAAkD;AAsDhD,2BAtDK,0BAAgB,CAsDL;AAnDlB,qGAA6E;AAwC3E,kCAxCK,iCAAuB,CAwCL;AArCzB,iGAAyE;AAuCvE,gCAvCK,+BAAqB,CAuCL;AAtCvB,2FAAmE;AAuCjE,6BAvCK,4BAAkB,CAuCL;AAtCpB,2FAAmE;AAuCjE,6BAvCK,4BAAkB,CAuCL;AAtCpB,yGAAiF;AAuC/E,oCAvCK,mCAAyB,CAuCL;AAtC3B,yHAAiG;AAuC/F,4CAvCK,2CAAiC,CAuCL;AAtCnC,yEAAiD;AAuC/C,oBAvCK,mBAAS,CAuCL;AAtCX,iFAAyD;AAyCvD,wBAzCK,uBAAa,CAyCL"}
@@ -8,6 +8,6 @@ import * as cursors from './cursors';
8
8
  import * as Types from './types';
9
9
  import * as annotation from './stateManagement/annotation';
10
10
  import * as segmentation from './stateManagement/segmentation';
11
- import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool } from './tools';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool } from './tools';
12
12
  import * as Enums from './enums';
13
- export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ import * as cursors from './cursors';
8
8
  import * as Types from './types';
9
9
  import * as annotation from './stateManagement/annotation';
10
10
  import * as segmentation from './stateManagement/segmentation';
11
- import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool, } from './tools';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool, } from './tools';
12
12
  import * as Enums from './enums';
13
- export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAEL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,EACV,yBAAyB,EAEzB,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAElB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EAET,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,KAAK,EAEL,gBAAgB,EAEhB,KAAK,EAEL,SAAS,EAET,OAAO,EAEP,UAAU,EAEV,YAAY,EAEZ,SAAS,EACT,OAAO,GACR,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAEL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,EACV,yBAAyB,EAEzB,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAElB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EAET,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,KAAK,EAEL,gBAAgB,EAEhB,KAAK,EAEL,SAAS,EAET,OAAO,EAEP,UAAU,EAEV,YAAY,EAEZ,SAAS,EACT,OAAO,GACR,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BaseTool } from './base';
2
+ import { PublicToolProps, ToolProps, EventTypes } from '../types';
3
+ declare class StackRotateTool extends BaseTool {
4
+ static toolName: any;
5
+ touchDragCallback: (evt: EventTypes.MouseDragEventType) => void;
6
+ mouseDragCallback: (evt: EventTypes.MouseDragEventType) => void;
7
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
8
+ _dragCallback(evt: EventTypes.MouseDragEventType): void;
9
+ }
10
+ export default StackRotateTool;
@@ -0,0 +1,41 @@
1
+ import { getEnabledElement } from '@cornerstonejs/core';
2
+ import { vec3 } from 'gl-matrix';
3
+ import { BaseTool } from './base';
4
+ import angleBetweenLines from '../utilities/math/angle/angleBetweenLines';
5
+ class StackRotateTool extends BaseTool {
6
+ constructor(toolProps = {}, defaultToolProps = {
7
+ supportedInteractionTypes: ['Mouse', 'Touch'],
8
+ }) {
9
+ super(toolProps, defaultToolProps);
10
+ this.touchDragCallback = this._dragCallback.bind(this);
11
+ this.mouseDragCallback = this._dragCallback.bind(this);
12
+ }
13
+ _dragCallback(evt) {
14
+ const { element, currentPoints, startPoints } = evt.detail;
15
+ const currentPointWorld = currentPoints.world;
16
+ const startPointWorld = startPoints.world;
17
+ const enabledElement = getEnabledElement(element);
18
+ const { viewport } = enabledElement;
19
+ const camera = viewport.getCamera();
20
+ const width = element.clientWidth;
21
+ const height = element.clientHeight;
22
+ const centerCanvas = [width * 0.5, height * 0.5];
23
+ const centerWorld = viewport.canvasToWorld(centerCanvas);
24
+ let angle = angleBetweenLines([startPointWorld, centerWorld], [centerWorld, currentPointWorld]);
25
+ const { viewPlaneNormal } = camera;
26
+ const v1 = vec3.sub(vec3.create(), centerWorld, startPointWorld);
27
+ const v2 = vec3.sub(vec3.create(), centerWorld, currentPointWorld);
28
+ const cross = vec3.cross(vec3.create(), v1, v2);
29
+ if (vec3.dot(viewPlaneNormal, cross) > 0) {
30
+ angle = -angle;
31
+ }
32
+ if (Number.isNaN(angle))
33
+ return;
34
+ const { rotation } = viewport.getProperties();
35
+ viewport.setProperties({ rotation: rotation + angle });
36
+ viewport.render();
37
+ }
38
+ }
39
+ StackRotateTool.toolName = 'StackRotate';
40
+ export default StackRotateTool;
41
+ //# sourceMappingURL=StackRotateTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackRotateTool.js","sourceRoot":"","sources":["../../../src/tools/StackRotateTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAS,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,iBAAiB,MAAM,2CAA2C,CAAC;AAO1E,MAAM,eAAgB,SAAQ,QAAQ;IAKpC,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KAC9C;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,aAAa,CAAC,GAAkC;QAC9C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC;QAC9C,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC;QAC1C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QAEpC,MAAM,YAAY,GAAiB,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,KAAK,GAAG,iBAAiB,CAC3B,CAAC,eAAe,EAAE,WAAW,CAAC,EAC9B,CAAC,WAAW,EAAE,iBAAiB,CAAC,CACjC,CAAC;QAEF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;YACxC,KAAK,GAAG,CAAC,KAAK,CAAC;SAChB;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC;QAEvD,QAAQ,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;CACF;AAED,eAAe,CAAC,QAAQ,GAAG,aAAa,CAAC;AACzC,eAAe,eAAe,CAAC"}
@@ -3,6 +3,7 @@ import PanTool from './PanTool';
3
3
  import TrackballRotateTool from './TrackballRotateTool';
4
4
  import WindowLevelTool from './WindowLevelTool';
5
5
  import StackScrollTool from './StackScrollTool';
6
+ import StackRotateTool from './StackRotateTool';
6
7
  import StackScrollMouseWheelTool from './StackScrollToolMouseWheelTool';
7
8
  import ZoomTool from './ZoomTool';
8
9
  import VolumeRotateMouseWheelTool from './VolumeRotateMouseWheelTool';
@@ -31,4 +32,4 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
31
32
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
32
33
  import BrushTool from './segmentation/BrushTool';
33
34
  import PaintFillTool from './segmentation/PaintFillTool';
34
- export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
35
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
@@ -3,6 +3,7 @@ import PanTool from './PanTool';
3
3
  import TrackballRotateTool from './TrackballRotateTool';
4
4
  import WindowLevelTool from './WindowLevelTool';
5
5
  import StackScrollTool from './StackScrollTool';
6
+ import StackRotateTool from './StackRotateTool';
6
7
  import StackScrollMouseWheelTool from './StackScrollToolMouseWheelTool';
7
8
  import ZoomTool from './ZoomTool';
8
9
  import VolumeRotateMouseWheelTool from './VolumeRotateMouseWheelTool';
@@ -31,5 +32,5 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
31
32
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
32
33
  import BrushTool from './segmentation/BrushTool';
33
34
  import PaintFillTool from './segmentation/PaintFillTool';
34
- export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
35
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
35
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,yBAAyB,MAAM,iCAAiC,CAAC;AACxE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAG7E,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AACjF,OAAO,iCAAiC,MAAM,kDAAkD,CAAC;AACjG,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAEL,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,0BAA0B,EAC1B,kBAAkB,EAElB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,yBAAyB,MAAM,iCAAiC,CAAC;AACxE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAG7E,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AACjF,OAAO,iCAAiC,MAAM,kDAAkD,CAAC;AACjG,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAEL,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,0BAA0B,EAC1B,kBAAkB,EAElB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,CAAC"}