@cornerstonejs/tools 0.30.6 → 0.31.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.
Files changed (105) hide show
  1. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +3 -1
  2. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  3. package/dist/cjs/index.d.ts +2 -2
  4. package/dist/cjs/index.js +2 -1
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +4 -1
  7. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +90 -29
  8. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  9. package/dist/cjs/store/state.d.ts +4 -6
  10. package/dist/cjs/tools/base/BaseTool.d.ts +1 -1
  11. package/dist/cjs/tools/index.d.ts +2 -1
  12. package/dist/cjs/tools/index.js +3 -1
  13. package/dist/cjs/tools/index.js.map +1 -1
  14. package/dist/cjs/tools/segmentation/BrushTool.d.ts +9 -5
  15. package/dist/cjs/tools/segmentation/BrushTool.js +95 -115
  16. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  17. package/dist/cjs/tools/segmentation/PaintFillTool.d.ts +12 -0
  18. package/dist/cjs/tools/segmentation/PaintFillTool.js +213 -0
  19. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -0
  20. package/dist/cjs/tools/segmentation/strategies/eraseCircle.d.ts +15 -0
  21. package/dist/cjs/tools/segmentation/strategies/eraseCircle.js +10 -0
  22. package/dist/cjs/tools/segmentation/strategies/eraseCircle.js.map +1 -0
  23. package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +13 -0
  24. package/dist/cjs/tools/segmentation/strategies/eraseSphere.js +12 -0
  25. package/dist/cjs/tools/segmentation/strategies/eraseSphere.js.map +1 -0
  26. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +3 -0
  27. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +41 -12
  28. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  29. package/dist/cjs/types/FloodFillTypes.d.ts +15 -0
  30. package/dist/cjs/types/FloodFillTypes.js +3 -0
  31. package/dist/cjs/types/FloodFillTypes.js.map +1 -0
  32. package/dist/cjs/types/IToolClassReference.d.ts +3 -0
  33. package/dist/cjs/types/IToolClassReference.js +3 -0
  34. package/dist/cjs/types/IToolClassReference.js.map +1 -0
  35. package/dist/cjs/types/IToolGroup.d.ts +3 -0
  36. package/dist/cjs/types/index.d.ts +3 -1
  37. package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -0
  38. package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.js +49 -0
  39. package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.js.map +1 -0
  40. package/dist/cjs/utilities/segmentation/brushThresholdForToolGroup.d.ts +3 -0
  41. package/dist/cjs/utilities/segmentation/brushThresholdForToolGroup.js +49 -0
  42. package/dist/cjs/utilities/segmentation/brushThresholdForToolGroup.js.map +1 -0
  43. package/dist/cjs/utilities/segmentation/floodFill.d.ts +3 -0
  44. package/dist/cjs/utilities/segmentation/floodFill.js +131 -0
  45. package/dist/cjs/utilities/segmentation/floodFill.js.map +1 -0
  46. package/dist/cjs/utilities/segmentation/index.d.ts +4 -1
  47. package/dist/cjs/utilities/segmentation/index.js +9 -1
  48. package/dist/cjs/utilities/segmentation/index.js.map +1 -1
  49. package/dist/cjs/utilities/segmentation/utilities.d.ts +2 -0
  50. package/dist/cjs/utilities/segmentation/utilities.js +21 -0
  51. package/dist/cjs/utilities/segmentation/utilities.js.map +1 -0
  52. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +3 -1
  53. package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  54. package/dist/esm/index.d.ts +2 -2
  55. package/dist/esm/index.js +2 -2
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +4 -1
  58. package/dist/esm/store/ToolGroupManager/ToolGroup.js +90 -29
  59. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  60. package/dist/esm/store/state.d.ts +4 -6
  61. package/dist/esm/tools/base/BaseTool.d.ts +1 -1
  62. package/dist/esm/tools/index.d.ts +2 -1
  63. package/dist/esm/tools/index.js +2 -1
  64. package/dist/esm/tools/index.js.map +1 -1
  65. package/dist/esm/tools/segmentation/BrushTool.d.ts +9 -5
  66. package/dist/esm/tools/segmentation/BrushTool.js +98 -119
  67. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  68. package/dist/esm/tools/segmentation/PaintFillTool.d.ts +12 -0
  69. package/dist/esm/tools/segmentation/PaintFillTool.js +210 -0
  70. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -0
  71. package/dist/esm/tools/segmentation/strategies/eraseCircle.d.ts +15 -0
  72. package/dist/esm/tools/segmentation/strategies/eraseCircle.js +9 -0
  73. package/dist/esm/tools/segmentation/strategies/eraseCircle.js.map +1 -0
  74. package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +13 -0
  75. package/dist/esm/tools/segmentation/strategies/eraseSphere.js +8 -0
  76. package/dist/esm/tools/segmentation/strategies/eraseSphere.js.map +1 -0
  77. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +3 -0
  78. package/dist/esm/tools/segmentation/strategies/fillCircle.js +38 -10
  79. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  80. package/dist/esm/types/FloodFillTypes.d.ts +15 -0
  81. package/dist/esm/types/FloodFillTypes.js +2 -0
  82. package/dist/esm/types/FloodFillTypes.js.map +1 -0
  83. package/dist/esm/types/IToolClassReference.d.ts +3 -0
  84. package/dist/esm/types/IToolClassReference.js +2 -0
  85. package/dist/esm/types/IToolClassReference.js.map +1 -0
  86. package/dist/esm/types/IToolGroup.d.ts +3 -0
  87. package/dist/esm/types/index.d.ts +3 -1
  88. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -0
  89. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +41 -0
  90. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js.map +1 -0
  91. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.d.ts +3 -0
  92. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +41 -0
  93. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js.map +1 -0
  94. package/dist/esm/utilities/segmentation/floodFill.d.ts +3 -0
  95. package/dist/esm/utilities/segmentation/floodFill.js +128 -0
  96. package/dist/esm/utilities/segmentation/floodFill.js.map +1 -0
  97. package/dist/esm/utilities/segmentation/index.d.ts +4 -1
  98. package/dist/esm/utilities/segmentation/index.js +4 -1
  99. package/dist/esm/utilities/segmentation/index.js.map +1 -1
  100. package/dist/esm/utilities/segmentation/utilities.d.ts +2 -0
  101. package/dist/esm/utilities/segmentation/utilities.js +15 -0
  102. package/dist/esm/utilities/segmentation/utilities.js.map +1 -0
  103. package/dist/umd/index.js +1 -1
  104. package/dist/umd/index.js.map +1 -1
  105. package/package.json +2 -2
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, MagnifyTool, ReferenceCursors, ReferenceLines, } from './tools';
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, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, } 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, MagnifyTool, ReferenceCursors, ReferenceLines, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, 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, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, 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,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,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,WAAW,EACX,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EAET,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,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,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,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,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,WAAW,EACX,gBAAgB,EAChB,cAAc,EAEd,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"}
@@ -10,10 +10,12 @@ export default class ToolGroup implements IToolGroup {
10
10
  constructor(id: string);
11
11
  getViewportIds(): string[];
12
12
  getViewportsInfo(): Array<Types.IViewportId>;
13
- getToolInstance(toolName: string): any;
13
+ getToolInstance(toolInstanceName: string): any;
14
14
  addTool(toolName: string, configuration?: {}): void;
15
+ addToolInstance(toolName: string, parentClassName: string, configuration?: {}): void;
15
16
  addViewport(viewportId: string, renderingEngineId?: string): void;
16
17
  removeViewports(renderingEngineId: string, viewportId?: string): void;
18
+ setActiveStrategy(toolName: string, strategyName: string): void;
17
19
  setToolMode(toolName: string, mode: ToolModes, options?: SetToolBindingsType): void;
18
20
  setToolActive(toolName: string, toolBindingsOptions?: SetToolBindingsType): void;
19
21
  setToolPassive(toolName: string): void;
@@ -22,6 +24,7 @@ export default class ToolGroup implements IToolGroup {
22
24
  getToolOptions(toolName: string): ToolOptionsType;
23
25
  getActivePrimaryMouseButtonTool(): string;
24
26
  setViewportsCursorByToolName(toolName: string, strategyName?: string): void;
27
+ private _getCursor;
25
28
  _setCursorForViewports(cursor: MouseCursor): void;
26
29
  setToolConfiguration(toolName: string, configuration: Record<any, any>, overwrite?: boolean): boolean;
27
30
  getToolConfiguration(toolName: string, configurationPath: string): any;
@@ -20,10 +20,10 @@ export default class ToolGroup {
20
20
  getViewportsInfo() {
21
21
  return this.viewportsInfo.slice();
22
22
  }
23
- getToolInstance(toolName) {
24
- const toolInstance = this._toolInstances[toolName];
23
+ getToolInstance(toolInstanceName) {
24
+ const toolInstance = this._toolInstances[toolInstanceName];
25
25
  if (!toolInstance) {
26
- console.warn(`'${toolName}' is not registered with this toolGroup.`);
26
+ console.warn(`'${toolInstanceName}' is not registered with this toolGroup.`);
27
27
  return;
28
28
  }
29
29
  return toolInstance;
@@ -53,6 +53,22 @@ export default class ToolGroup {
53
53
  const instantiatedTool = new ToolClass(toolProps);
54
54
  this._toolInstances[toolName] = instantiatedTool;
55
55
  }
56
+ addToolInstance(toolName, parentClassName, configuration = {}) {
57
+ let ToolClassToUse = state.tools[toolName]
58
+ ?.toolClass;
59
+ if (!ToolClassToUse) {
60
+ const ParentClass = state.tools[parentClassName]
61
+ .toolClass;
62
+ class ToolInstance extends ParentClass {
63
+ }
64
+ ToolInstance.toolName = toolName;
65
+ ToolClassToUse = ToolInstance;
66
+ state.tools[toolName] = {
67
+ toolClass: ToolInstance,
68
+ };
69
+ }
70
+ this.addTool(ToolClassToUse.toolName, configuration);
71
+ }
56
72
  addViewport(viewportId, renderingEngineId) {
57
73
  const renderingEngines = getRenderingEngines();
58
74
  if (!renderingEngineId && renderingEngines.length > 1) {
@@ -65,10 +81,10 @@ export default class ToolGroup {
65
81
  renderingEngineId: renderingEngineUIDToUse,
66
82
  });
67
83
  }
68
- const activeToolName = this.getActivePrimaryMouseButtonTool();
84
+ const toolName = this.getActivePrimaryMouseButtonTool();
69
85
  const runtimeSettings = Settings.getRuntimeSettings();
70
86
  if (runtimeSettings.get('useCursors')) {
71
- this.setViewportsCursorByToolName(activeToolName);
87
+ this.setViewportsCursorByToolName(toolName);
72
88
  }
73
89
  }
74
90
  removeViewports(renderingEngineId, viewportId) {
@@ -91,6 +107,14 @@ export default class ToolGroup {
91
107
  }
92
108
  }
93
109
  }
110
+ setActiveStrategy(toolName, strategyName) {
111
+ const toolInstance = this._toolInstances[toolName];
112
+ if (toolInstance === undefined) {
113
+ console.warn(`Tool ${toolName} not added to toolGroup, can't set tool configuration.`);
114
+ return;
115
+ }
116
+ toolInstance.setActiveStrategy(strategyName);
117
+ }
94
118
  setToolMode(toolName, mode, options = {}) {
95
119
  if (!toolName) {
96
120
  console.warn('setToolMode: toolName must be defined');
@@ -115,18 +139,30 @@ export default class ToolGroup {
115
139
  console.warn('setToolMode: mode must be defined');
116
140
  }
117
141
  setToolActive(toolName, toolBindingsOptions = {}) {
118
- if (this._toolInstances[toolName] === undefined) {
142
+ const toolInstance = this._toolInstances[toolName];
143
+ if (toolInstance === undefined) {
119
144
  console.warn(`Tool ${toolName} not added to toolGroup, can't set tool mode.`);
120
145
  return;
121
146
  }
147
+ if (!toolInstance) {
148
+ console.warn(`'${toolName}' instance ${toolInstance} is not registered with this toolGroup, can't set tool mode.`);
149
+ return;
150
+ }
122
151
  const prevBindings = this.toolOptions[toolName]
123
152
  ? this.toolOptions[toolName].bindings
124
153
  : [];
125
154
  const newBindings = toolBindingsOptions.bindings
126
155
  ? toolBindingsOptions.bindings
127
156
  : [];
157
+ const bindingsToUse = [...prevBindings, ...newBindings].reduce((unique, binding) => {
158
+ if (!unique.some((obj) => obj.mouseButton === binding.mouseButton) &&
159
+ binding.mouseButton !== undefined) {
160
+ unique.push(binding);
161
+ }
162
+ return unique;
163
+ }, []);
128
164
  const toolOptions = {
129
- bindings: [...prevBindings, ...newBindings],
165
+ bindings: bindingsToUse,
130
166
  mode: Active,
131
167
  };
132
168
  this.toolOptions[toolName] = toolOptions;
@@ -137,19 +173,20 @@ export default class ToolGroup {
137
173
  this.setViewportsCursorByToolName(toolName);
138
174
  }
139
175
  else {
140
- const activeToolName = this.getActivePrimaryMouseButtonTool();
141
- if (!activeToolName && useCursor) {
176
+ const activeToolIdentifier = this.getActivePrimaryMouseButtonTool();
177
+ if (!activeToolIdentifier && useCursor) {
142
178
  const cursor = MouseCursor.getDefinedCursor('default');
143
179
  this._setCursorForViewports(cursor);
144
180
  }
145
181
  }
146
- if (typeof this._toolInstances[toolName].onSetToolActive === 'function') {
147
- this._toolInstances[toolName].onSetToolActive();
182
+ if (typeof toolInstance.onSetToolActive === 'function') {
183
+ toolInstance.onSetToolActive();
148
184
  }
149
185
  this._renderViewports();
150
186
  }
151
187
  setToolPassive(toolName) {
152
- if (this._toolInstances[toolName] === undefined) {
188
+ const toolInstance = this._toolInstances[toolName];
189
+ if (toolInstance === undefined) {
153
190
  console.warn(`Tool ${toolName} not added to toolGroup, can't set tool mode.`);
154
191
  return;
155
192
  }
@@ -166,14 +203,15 @@ export default class ToolGroup {
166
203
  toolOptions.mode = mode;
167
204
  }
168
205
  this.toolOptions[toolName] = toolOptions;
169
- this._toolInstances[toolName].mode = mode;
170
- if (typeof this._toolInstances[toolName].onSetToolPassive === 'function') {
171
- this._toolInstances[toolName].onSetToolPassive();
206
+ toolInstance.mode = mode;
207
+ if (typeof toolInstance.onSetToolPassive === 'function') {
208
+ toolInstance.onSetToolPassive();
172
209
  }
173
210
  this._renderViewports();
174
211
  }
175
212
  setToolEnabled(toolName) {
176
- if (this._toolInstances[toolName] === undefined) {
213
+ const toolInstance = this._toolInstances[toolName];
214
+ if (toolInstance === undefined) {
177
215
  console.warn(`Tool ${toolName} not added to toolGroup, can't set tool mode.`);
178
216
  return;
179
217
  }
@@ -182,14 +220,15 @@ export default class ToolGroup {
182
220
  mode: Enabled,
183
221
  };
184
222
  this.toolOptions[toolName] = toolOptions;
185
- this._toolInstances[toolName].mode = Enabled;
186
- if (typeof this._toolInstances[toolName].onSetToolEnabled === 'function') {
187
- this._toolInstances[toolName].onSetToolEnabled();
223
+ toolInstance.mode = Enabled;
224
+ if (typeof toolInstance.onSetToolEnabled === 'function') {
225
+ toolInstance.onSetToolEnabled();
188
226
  }
189
227
  this._renderViewports();
190
228
  }
191
229
  setToolDisabled(toolName) {
192
- if (this._toolInstances[toolName] === undefined) {
230
+ const toolInstance = this._toolInstances[toolName];
231
+ if (toolInstance === undefined) {
193
232
  console.warn(`Tool ${toolName} not added to toolGroup, can't set tool mode.`);
194
233
  return;
195
234
  }
@@ -198,14 +237,18 @@ export default class ToolGroup {
198
237
  mode: Disabled,
199
238
  };
200
239
  this.toolOptions[toolName] = toolOptions;
201
- this._toolInstances[toolName].mode = Disabled;
202
- if (typeof this._toolInstances[toolName].onSetToolDisabled === 'function') {
203
- this._toolInstances[toolName].onSetToolDisabled();
240
+ toolInstance.mode = Disabled;
241
+ if (typeof toolInstance.onSetToolDisabled === 'function') {
242
+ toolInstance.onSetToolDisabled();
204
243
  }
205
244
  this._renderViewports();
206
245
  }
207
246
  getToolOptions(toolName) {
208
- return this.toolOptions[toolName];
247
+ const toolOptionsForTool = this.toolOptions[toolName];
248
+ if (toolOptionsForTool === undefined) {
249
+ return;
250
+ }
251
+ return toolOptionsForTool;
209
252
  }
210
253
  getActivePrimaryMouseButtonTool() {
211
254
  return Object.keys(this.toolOptions).find((toolName) => {
@@ -215,13 +258,31 @@ export default class ToolGroup {
215
258
  });
216
259
  }
217
260
  setViewportsCursorByToolName(toolName, strategyName) {
218
- const cursorName = strategyName ? `${toolName}.${strategyName}` : toolName;
219
- let cursor = SVGMouseCursor.getDefinedCursor(cursorName, true);
220
- if (!cursor) {
221
- cursor = MouseCursor.getDefinedCursor('default');
222
- }
261
+ const cursor = this._getCursor(toolName, strategyName);
223
262
  this._setCursorForViewports(cursor);
224
263
  }
264
+ _getCursor(toolName, strategyName) {
265
+ let cursorName;
266
+ let cursor;
267
+ if (strategyName) {
268
+ cursorName = `${toolName}.${strategyName}`;
269
+ cursor = SVGMouseCursor.getDefinedCursor(cursorName, true);
270
+ if (cursor) {
271
+ return cursor;
272
+ }
273
+ }
274
+ cursorName = `${toolName}`;
275
+ cursor = SVGMouseCursor.getDefinedCursor(cursorName, true);
276
+ if (cursor) {
277
+ return cursor;
278
+ }
279
+ cursorName = toolName;
280
+ cursor = SVGMouseCursor.getDefinedCursor(cursorName, true);
281
+ if (cursor) {
282
+ return cursor;
283
+ }
284
+ return MouseCursor.getDefinedCursor('default');
285
+ }
225
286
  _setCursorForViewports(cursor) {
226
287
  this.viewportsInfo.forEach(({ renderingEngineId, viewportId }) => {
227
288
  const enabledElement = getEnabledElementByIds(viewportId, renderingEngineId);
@@ -1 +1 @@
1
- {"version":3,"file":"ToolGroup.js","sourceRoot":"","sources":["../../../../src/store/ToolGroupManager/ToolGroup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolGroup.js","sourceRoot":"","sources":["../../../../src/store/ToolGroupManager/ToolGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAQjC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAElD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;AAczD,MAAM,CAAC,OAAO,OAAO,SAAS;IAM5B,YAAY,EAAU;QAJtB,kBAAa,GAAG,EAAE,CAAC;QACnB,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,EAAE,CAAC;QAGlB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAMD,cAAc;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAKD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAOM,eAAe,CAAC,gBAAwB;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,CAAC,IAAI,CACV,IAAI,gBAAgB,0CAA0C,CAC/D,CAAC;YACF,OAAO;SACR;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAUD,OAAO,CAAC,QAAgB,EAAE,aAAa,GAAG,EAAE;QAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,EAAE,CAAC;QACvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,CAAC,IAAI,CACV,sDAAsD,EACtD,aAAa,CACd,CAAC;YACF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,uCAAuC,CAAC,CAAC;YAClE,OAAO;SACR;QAED,IAAI,iBAAiB,EAAE;YACrB,OAAO,CAAC,IAAI,CACV,IAAI,QAAQ,yCAAyC,IAAI,CAAC,EAAE,GAAG,CAChE,CAAC;YACF,OAAO;SACR;QAID,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;QAEhD,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,IAAI,CAAC,EAAE;YACpB,aAAa;SACd,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAIlD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACnD,CAAC;IAEM,eAAe,CACpB,QAAgB,EAChB,eAAuB,EACvB,aAAa,GAAG,EAAE;QAElB,IAAI,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxC,EAAE,SAAgC,CAAC;QAErC,IAAI,CAAC,cAAc,EAAE;YAEnB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;iBAC7C,SAAgC,CAAC;YAIpC,MAAM,YAAa,SAAQ,WAAW;aAAG;YAEzC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEjC,cAAc,GAAG,YAAY,CAAC;YAE9B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;gBACtB,SAAS,EAAE,YAAmC;aAC/C,CAAC;SACH;QAID,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAeM,WAAW,CAAC,UAAkB,EAAE,iBAA0B;QAC/D,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAE/C,IAAI,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;SACH;QAED,MAAM,uBAAuB,GAAG,iBAAiB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAG5E,IACE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,EACvE;YACA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACtB,UAAU;gBACV,iBAAiB,EAAE,uBAAuB;aAC3C,CAAC,CAAC;SACJ;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAExD,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACtD,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;SAC7C;IACH,CAAC;IAUM,eAAe,CAAC,iBAAyB,EAAE,UAAmB;QACnE,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,MAAM,CAAC,iBAAiB,KAAK,iBAAiB,EAAE;gBAClD,KAAK,GAAG,IAAI,CAAC;gBAEb,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;oBAClD,KAAK,GAAG,KAAK,CAAC;iBACf;aACF;YACD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,EAAE;YAGlB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAEM,iBAAiB,CAAC,QAAgB,EAAE,YAAoB;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,wDAAwD,CACzE,CAAC;YAEF,OAAO;SACR;QAED,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CACT,QAAgB,EAChB,IAAe,EACf,UAAU,EAAyB;QAEnC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO;SACR;QAED,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,IAAI,KAAK,SAAS,CAAC,QAAQ,EAAE;YAC/B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACpD,CAAC;IAcM,aAAa,CAClB,QAAgB,EAChB,sBAAsB,EAAyB;QAE/C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,+CAA+C,CAChE,CAAC;YAEF,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,CAAC,IAAI,CACV,IAAI,QAAQ,cAAc,YAAY,8DAA8D,CACrG,CAAC;YACF,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ;YACrC,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ;YAC9C,CAAC,CAAC,mBAAmB,CAAC,QAAQ;YAC9B,CAAC,CAAC,EAAE,CAAC;QAGP,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,WAAW,CAAC,CAAC,MAAM,CAC5D,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YAClB,IACE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC;gBAC9D,OAAO,CAAC,WAAW,KAAK,SAAS,EACjC;gBACA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,EAAE,CACH,CAAC;QAGF,MAAM,WAAW,GAAoB;YACnC,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;QAG5C,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,6BAA6B,CAAC,mBAAmB,CAAC,IAAI,SAAS,EAAE;YACxE,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;SAC7C;aAAM;YAEL,MAAM,oBAAoB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACpE,IAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE;gBACtC,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;aACrC;SACF;QAED,IAAI,OAAO,YAAY,CAAC,eAAe,KAAK,UAAU,EAAE;YACtD,YAAY,CAAC,eAAe,EAAE,CAAC;SAChC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAUM,cAAc,CAAC,QAAgB;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,+CAA+C,CAChE,CAAC;YAEF,OAAO;SACR;QAID,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B;YACE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAC1D,EACD,eAAe,EACf;YACE,IAAI,EAAE,OAAO;SACd,CACF,CAAC;QAGF,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAChD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC,OAAO,CAC3D,CAAC;QAGF,IAAI,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,IAAI,GAAG,MAAM,CAAC;YACd,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;SACzB;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACzC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QAEzB,IAAI,OAAO,YAAY,CAAC,gBAAgB,KAAK,UAAU,EAAE;YACvD,YAAY,CAAC,gBAAgB,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IASM,cAAc,CAAC,QAAgB;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,+CAA+C,CAChE,CAAC;YAEF,OAAO;SACR;QAED,MAAM,WAAW,GAAG;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,OAAO;SACd,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACzC,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC;QAE5B,IAAI,OAAO,YAAY,CAAC,gBAAgB,KAAK,UAAU,EAAE;YACvD,YAAY,CAAC,gBAAgB,EAAE,CAAC;SACjC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IASM,eAAe,CAAC,QAAgB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,+CAA+C,CAChE,CAAC;YAEF,OAAO;SACR;QAED,MAAM,WAAW,GAAG;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACzC,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE7B,IAAI,OAAO,YAAY,CAAC,iBAAiB,KAAK,UAAU,EAAE;YACxD,YAAY,CAAC,iBAAiB,EAAE,CAAC;SAClC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAOM,cAAc,CAAC,QAAgB;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,kBAAkB,KAAK,SAAS,EAAE;YACpC,OAAO;SACR;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAQM,+BAA+B;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACrD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CACL,WAAW,CAAC,IAAI,KAAK,MAAM;gBAC3B,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,4BAA4B,CACjC,QAAgB,EAChB,YAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,UAAU,CAAC,QAAgB,EAAE,YAAqB;QACxD,IAAI,UAAU,CAAC;QACf,IAAI,MAAM,CAAC;QAEX,IAAI,YAAY,EAAE;YAGhB,UAAU,GAAG,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAC;YAE3C,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAE3D,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC;aACf;SACF;QAGD,UAAU,GAAG,GAAG,QAAQ,EAAE,CAAC;QAE3B,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC;SACf;QAGD,UAAU,GAAG,QAAQ,CAAC;QAEtB,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC;SACf;QAED,OAAO,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,sBAAsB,CAAC,MAAmB;QACxC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,MAAM,cAAc,GAAG,sBAAsB,CAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YAEF,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO;aACR;YAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACpC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAMM,oBAAoB,CACzB,QAAgB,EAChB,aAA+B,EAC/B,SAAmB;QAEnB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;YAC/C,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,6CAA6C,CAC9D,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QAED,IAAI,cAAc,CAAC;QAEnB,IAAI,SAAS,EAAE;YACb,cAAc,GAAG,aAAa,CAAC;SAChC;aAAM;YACL,cAAc,GAAG,SAAS,CACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,EAC3C,aAAa,CACd,CAAC;SACH;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,cAAc,CAAC;QAE7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAUD,oBAAoB,CAAC,QAAgB,EAAE,iBAAyB;QAC9D,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;YAC/C,OAAO,CAAC,IAAI,CACV,QAAQ,QAAQ,6CAA6C,CAC9D,CAAC;YACF,OAAO;SACR;QAED,MAAM,cAAc,GAAG,GAAG,CACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,EAC3C,iBAAiB,CAClB,CAAC;QAEF,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAOO,6BAA6B,CAAC,WAAW;QAC/C,OAAO,WAAW,EAAE,QAAQ,EAAE,IAAI,CAChC,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC,OAAO;YAC7C,OAAO,CAAC,WAAW,KAAK,SAAS,CACpC,CAAC;IACJ,CAAC;IAKO,gBAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,13 +1,11 @@
1
- import { IToolGroup } from '../types';
1
+ import { IToolGroup, IToolClassReference } from '../types';
2
2
  import Synchronizer from './SynchronizerManager/Synchronizer';
3
- import { BaseTool } from '../tools';
4
- interface IToolClassReference {
5
- toolClass: new <T extends BaseTool>(config: any) => T;
6
- }
7
3
  interface ICornerstoneTools3dState {
8
4
  isInteractingWithTool: boolean;
9
5
  isMultiPartToolActive: boolean;
10
- tools: Record<string, IToolClassReference>;
6
+ tools: Record<string, {
7
+ toolClass: IToolClassReference;
8
+ }>;
11
9
  toolGroups: Array<IToolGroup>;
12
10
  synchronizers: Array<Synchronizer>;
13
11
  svgNodeCache: Record<string, unknown>;
@@ -1,7 +1,7 @@
1
1
  import { Types } from '@cornerstonejs/core';
2
2
  import { ToolModes } from '../../enums';
3
3
  import { InteractionTypes, ToolProps, PublicToolProps } from '../../types';
4
- interface IBaseTool {
4
+ export interface IBaseTool {
5
5
  toolGroupId: string;
6
6
  supportedInteractionTypes: InteractionTypes[];
7
7
  mode: ToolModes;
@@ -28,4 +28,5 @@ import SphereScissorsTool from './segmentation/SphereScissorsTool';
28
28
  import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool';
29
29
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
30
30
  import BrushTool from './segmentation/BrushTool';
31
- export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, };
31
+ import PaintFillTool from './segmentation/PaintFillTool';
32
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, };
@@ -28,5 +28,6 @@ import SphereScissorsTool from './segmentation/SphereScissorsTool';
28
28
  import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool';
29
29
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
30
30
  import BrushTool from './segmentation/BrushTool';
31
- export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, };
31
+ import PaintFillTool from './segmentation/PaintFillTool';
32
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, };
32
33
  //# 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,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,sBAAsB,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;AAEjD,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,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,WAAW,EACX,cAAc,GACf,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,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,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,sBAAsB,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,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,GACd,CAAC"}
@@ -1,19 +1,23 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  import type { PublicToolProps, ToolProps, EventTypes, SVGDrawingHelper } from '../../types';
3
3
  import { BaseTool } from '../base';
4
- declare class BrushTool extends BaseTool {
5
- static toolName: any;
4
+ export default class BrushTool extends BaseTool {
5
+ static toolName: string;
6
6
  private _editData;
7
- private _hoverData;
8
- private _isDrawing;
7
+ private _hoverData?;
9
8
  constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
9
+ onSetToolPassive: () => void;
10
+ onSetToolEnabled: () => void;
11
+ onSetToolDisabled: () => void;
12
+ private disableCursor;
10
13
  preMouseDownCallback: (evt: EventTypes.MouseDownActivateEventType) => boolean;
11
14
  mouseMoveCallback: (evt: EventTypes.MouseMoveEventType) => void;
12
15
  private updateCursor;
13
16
  private _mouseDragCallback;
17
+ private _calculateCursor;
14
18
  private _mouseUpCallback;
15
19
  private _activateDraw;
16
20
  private _deactivateDraw;
21
+ invalidateBrushCursor(): void;
17
22
  renderAnnotation(enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper): void;
18
23
  }
19
- export default BrushTool;