@cornerstonejs/tools 0.45.1 → 0.46.0

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, 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';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, 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, 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, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, 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,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
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;
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.PlanarRotateTool = 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
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; } });
@@ -61,7 +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
+ Object.defineProperty(exports, "PlanarRotateTool", { enumerable: true, get: function () { return tools_1.PlanarRotateTool; } });
65
65
  Object.defineProperty(exports, "StackScrollMouseWheelTool", { enumerable: true, get: function () { return tools_1.StackScrollMouseWheelTool; } });
66
66
  Object.defineProperty(exports, "VolumeRotateMouseWheelTool", { enumerable: true, get: function () { return tools_1.VolumeRotateMouseWheelTool; } });
67
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;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"}
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,iGAhDA,wBAAgB,OAgDA;AAChB,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"}
@@ -1,10 +1,10 @@
1
1
  import { BaseTool } from './base';
2
2
  import { PublicToolProps, ToolProps, EventTypes } from '../types';
3
- declare class StackRotateTool extends BaseTool {
3
+ declare class PlanarRotateTool extends BaseTool {
4
4
  static toolName: any;
5
5
  touchDragCallback: (evt: EventTypes.MouseDragEventType) => void;
6
6
  mouseDragCallback: (evt: EventTypes.MouseDragEventType) => void;
7
7
  constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
8
8
  _dragCallback(evt: EventTypes.MouseDragEventType): void;
9
9
  }
10
- export default StackRotateTool;
10
+ export default PlanarRotateTool;
@@ -7,7 +7,7 @@ const core_1 = require("@cornerstonejs/core");
7
7
  const gl_matrix_1 = require("gl-matrix");
8
8
  const base_1 = require("./base");
9
9
  const angleBetweenLines_1 = __importDefault(require("../utilities/math/angle/angleBetweenLines"));
10
- class StackRotateTool extends base_1.BaseTool {
10
+ class PlanarRotateTool extends base_1.BaseTool {
11
11
  constructor(toolProps = {}, defaultToolProps = {
12
12
  supportedInteractionTypes: ['Mouse', 'Touch'],
13
13
  }) {
@@ -27,7 +27,7 @@ class StackRotateTool extends base_1.BaseTool {
27
27
  const centerCanvas = [width * 0.5, height * 0.5];
28
28
  const centerWorld = viewport.canvasToWorld(centerCanvas);
29
29
  let angle = (0, angleBetweenLines_1.default)([startPointWorld, centerWorld], [centerWorld, currentPointWorld]);
30
- const { viewPlaneNormal } = camera;
30
+ const { viewPlaneNormal, viewUp } = camera;
31
31
  const v1 = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), centerWorld, startPointWorld);
32
32
  const v2 = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), centerWorld, currentPointWorld);
33
33
  const cross = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), v1, v2);
@@ -36,11 +36,20 @@ class StackRotateTool extends base_1.BaseTool {
36
36
  }
37
37
  if (Number.isNaN(angle))
38
38
  return;
39
- const { rotation } = viewport.getProperties();
40
- viewport.setProperties({ rotation: rotation + angle });
39
+ if (viewport instanceof core_1.BaseVolumeViewport) {
40
+ const rotAngle = (angle * Math.PI) / 180;
41
+ const rotMat = gl_matrix_1.mat4.identity(new Float32Array(16));
42
+ gl_matrix_1.mat4.rotate(rotMat, rotMat, rotAngle, viewPlaneNormal);
43
+ const rotatedViewUp = gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), viewUp, rotMat);
44
+ viewport.setCamera({ viewUp: rotatedViewUp });
45
+ }
46
+ else {
47
+ const { rotation } = viewport.getProperties();
48
+ viewport.setProperties({ rotation: rotation + angle });
49
+ }
41
50
  viewport.render();
42
51
  }
43
52
  }
44
- StackRotateTool.toolName = 'StackRotate';
45
- exports.default = StackRotateTool;
46
- //# sourceMappingURL=StackRotateTool.js.map
53
+ PlanarRotateTool.toolName = 'PlanarRotate';
54
+ exports.default = PlanarRotateTool;
55
+ //# sourceMappingURL=PlanarRotateTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanarRotateTool.js","sourceRoot":"","sources":["../../../src/tools/PlanarRotateTool.ts"],"names":[],"mappings":"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"}
@@ -3,7 +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
+ import PlanarRotateTool from './PlanarRotateTool';
7
7
  import StackScrollMouseWheelTool from './StackScrollToolMouseWheelTool';
8
8
  import ZoomTool from './ZoomTool';
9
9
  import VolumeRotateMouseWheelTool from './VolumeRotateMouseWheelTool';
@@ -32,4 +32,4 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
32
32
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
33
33
  import BrushTool from './segmentation/BrushTool';
34
34
  import PaintFillTool from './segmentation/PaintFillTool';
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
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, 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.StackRotateTool = 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.PlanarRotateTool = 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,8 +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
+ const PlanarRotateTool_1 = __importDefault(require("./PlanarRotateTool"));
19
+ exports.PlanarRotateTool = PlanarRotateTool_1.default;
20
20
  const StackScrollToolMouseWheelTool_1 = __importDefault(require("./StackScrollToolMouseWheelTool"));
21
21
  exports.StackScrollMouseWheelTool = StackScrollToolMouseWheelTool_1.default;
22
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;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"}
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,0EAAkD;AA6ChD,2BA7CK,0BAAgB,CA6CL;AA5ClB,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, 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';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, 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, 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, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, 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, 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';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, 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, 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, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, PlanarRotateTool, 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,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"}
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,gBAAgB,EAChB,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,gBAAgB,EAChB,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,10 +1,10 @@
1
1
  import { BaseTool } from './base';
2
2
  import { PublicToolProps, ToolProps, EventTypes } from '../types';
3
- declare class StackRotateTool extends BaseTool {
3
+ declare class PlanarRotateTool extends BaseTool {
4
4
  static toolName: any;
5
5
  touchDragCallback: (evt: EventTypes.MouseDragEventType) => void;
6
6
  mouseDragCallback: (evt: EventTypes.MouseDragEventType) => void;
7
7
  constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
8
8
  _dragCallback(evt: EventTypes.MouseDragEventType): void;
9
9
  }
10
- export default StackRotateTool;
10
+ export default PlanarRotateTool;
@@ -1,8 +1,8 @@
1
- import { getEnabledElement } from '@cornerstonejs/core';
2
- import { vec3 } from 'gl-matrix';
1
+ import { BaseVolumeViewport, getEnabledElement, } from '@cornerstonejs/core';
2
+ import { mat4, vec3 } from 'gl-matrix';
3
3
  import { BaseTool } from './base';
4
4
  import angleBetweenLines from '../utilities/math/angle/angleBetweenLines';
5
- class StackRotateTool extends BaseTool {
5
+ class PlanarRotateTool extends BaseTool {
6
6
  constructor(toolProps = {}, defaultToolProps = {
7
7
  supportedInteractionTypes: ['Mouse', 'Touch'],
8
8
  }) {
@@ -22,7 +22,7 @@ class StackRotateTool extends BaseTool {
22
22
  const centerCanvas = [width * 0.5, height * 0.5];
23
23
  const centerWorld = viewport.canvasToWorld(centerCanvas);
24
24
  let angle = angleBetweenLines([startPointWorld, centerWorld], [centerWorld, currentPointWorld]);
25
- const { viewPlaneNormal } = camera;
25
+ const { viewPlaneNormal, viewUp } = camera;
26
26
  const v1 = vec3.sub(vec3.create(), centerWorld, startPointWorld);
27
27
  const v2 = vec3.sub(vec3.create(), centerWorld, currentPointWorld);
28
28
  const cross = vec3.cross(vec3.create(), v1, v2);
@@ -31,11 +31,20 @@ class StackRotateTool extends BaseTool {
31
31
  }
32
32
  if (Number.isNaN(angle))
33
33
  return;
34
- const { rotation } = viewport.getProperties();
35
- viewport.setProperties({ rotation: rotation + angle });
34
+ if (viewport instanceof BaseVolumeViewport) {
35
+ const rotAngle = (angle * Math.PI) / 180;
36
+ const rotMat = mat4.identity(new Float32Array(16));
37
+ mat4.rotate(rotMat, rotMat, rotAngle, viewPlaneNormal);
38
+ const rotatedViewUp = vec3.transformMat4(vec3.create(), viewUp, rotMat);
39
+ viewport.setCamera({ viewUp: rotatedViewUp });
40
+ }
41
+ else {
42
+ const { rotation } = viewport.getProperties();
43
+ viewport.setProperties({ rotation: rotation + angle });
44
+ }
36
45
  viewport.render();
37
46
  }
38
47
  }
39
- StackRotateTool.toolName = 'StackRotate';
40
- export default StackRotateTool;
41
- //# sourceMappingURL=StackRotateTool.js.map
48
+ PlanarRotateTool.toolName = 'PlanarRotate';
49
+ export default PlanarRotateTool;
50
+ //# sourceMappingURL=PlanarRotateTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanarRotateTool.js","sourceRoot":"","sources":["../../../src/tools/PlanarRotateTool.ts"],"names":[],"mappings":"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"}
@@ -3,7 +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
+ import PlanarRotateTool from './PlanarRotateTool';
7
7
  import StackScrollMouseWheelTool from './StackScrollToolMouseWheelTool';
8
8
  import ZoomTool from './ZoomTool';
9
9
  import VolumeRotateMouseWheelTool from './VolumeRotateMouseWheelTool';
@@ -32,4 +32,4 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
32
32
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
33
33
  import BrushTool from './segmentation/BrushTool';
34
34
  import PaintFillTool from './segmentation/PaintFillTool';
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
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, 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 @@ 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
+ import PlanarRotateTool from './PlanarRotateTool';
7
7
  import StackScrollMouseWheelTool from './StackScrollToolMouseWheelTool';
8
8
  import ZoomTool from './ZoomTool';
9
9
  import VolumeRotateMouseWheelTool from './VolumeRotateMouseWheelTool';
@@ -32,5 +32,5 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
32
32
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
33
33
  import BrushTool from './segmentation/BrushTool';
34
34
  import PaintFillTool from './segmentation/PaintFillTool';
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
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, 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, };
36
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,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"}
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,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,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,gBAAgB,EAChB,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"}