Skip to main content

Class: IToolGroup

ToolGroup class which is a container for tools and their modes and states. In Cornerstone3DTools, you need to create a tool group in order to use the tools. ToolGroup is a way to share tool configuration, state (enabled, disabled, etc.) across a set of viewports. Tools can set to be activated, enabled or disabled in a toolGroup. You should not directly instantiate a ToolGroup. You need to use ToolGroupManager helpers to create a new toolGroup or get a reference to an existing toolGroup.

const toolGroup = csTools.ToolGroupManager.createToolGroup('toolGroupId')

Constructors​

new IToolGroup()​

new IToolGroup(id): IToolGroup

Parameters​

• id: string

Returns​

IToolGroup

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:62

Properties​

_toolInstances​

_toolInstances: object = {}

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:60


currentActivePrimaryToolName​

currentActivePrimaryToolName: string = null

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:54


id​

id: string

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:51


prevActivePrimaryToolName​

prevActivePrimaryToolName: string = null

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:55


restoreToolOptions​

restoreToolOptions: object = {}

Options used for restoring a tool

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:59


toolOptions​

toolOptions: object = {}

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:53


viewportsInfo​

viewportsInfo: any[] = []

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:52

Methods​

_setCursorForViewports()​

_setCursorForViewports(cursor): void

Parameters​

• cursor: MouseCursor

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:667


addTool()​

addTool(toolName, configuration): void

Add a tool to the tool group with the given tool name and tool configuration. Note that adding a tool to a tool group will not automatically set the tool to be active. You must call setToolActive or setToolPassive and other methods to set the tool to be active or passive or in other states.

Parameters​

• toolName: string

string

• configuration: ToolConfiguration = {}

Tool configuration objects and a custom statistics calculator if needed

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:125


addToolInstance()​

addToolInstance(toolName, parentClassName, configuration): void

Parameters​

• toolName: string

• parentClassName: string

• configuration = {}

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:169


addViewport()​

addViewport(viewportId, renderingEngineId?): void

Add a viewport to the ToolGroup. It accepts viewportId and optional renderingEngineId parameter. If renderingEngineId is not provided, it checks if cornerstone-core has more than one renderingEngine; If so, it will throw an error. If cornerstone-core has only one renderingEngine, it will use that renderingEngine.

Parameters​

• viewportId: string

The unique identifier for the viewport.

• renderingEngineId?: string

The rendering engine to use.

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:210


clone()​

clone(newToolGroupId, fnToolFilter): IToolGroup

Parameters​

• newToolGroupId: any

Id of the new (clone) tool group

• fnToolFilter = null

Function to filter which tools from this tool group should be added to the new (clone) one. Example: only annotations tools can be filtered and added to the new tool group.

Returns​

IToolGroup

A new tool group that is a clone of this one

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:799


getActivePrimaryMouseButtonTool()​

getActivePrimaryMouseButtonTool(): string

Find the name of the tool that is Active and has a primary button binding (Mouse primary click)

Returns​

string

The name of the tool

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:611


getCurrentActivePrimaryToolName()​

getCurrentActivePrimaryToolName(): string

Returns​

string

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:787


getDefaultMousePrimary()​

getDefaultMousePrimary(): MouseBindings

Returns the default mouse primary button.

Returns​

MouseBindings

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:730


getDefaultPrimaryBindings()​

getDefaultPrimaryBindings(): IToolBinding[]

Gets an array of bindings that is the full primary binding. Currently this is just the primary mouse button, but may be extended in the future to include touch or other binding types.

Returns​

IToolBinding[]

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:739


getPrevActivePrimaryToolName()​

getPrevActivePrimaryToolName(): string

Gets the name of the previously active tool.

Returns​

string

The name of the previously active tool.

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:770


getToolConfiguration()​

getToolConfiguration(toolName, configurationPath?): unknown

Get the configuration of tool. It returns only the config for the given path (in case exists). ConfigurationPath is the the path of the property to get separated by '.'.

Parameters​

• toolName: string

• configurationPath?: string

Returns​

unknown

Example​

getToolConfiguration('LengthTool', 'firstLevel.secondLevel')
// get from LengthTool instance the configuration value as being LengthToolInstance[configuration][firstLevel][secondLevel]

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:751


getToolInstance()​

getToolInstance(toolInstanceName): any

Get the tool instance for a given tool name in the toolGroup

Parameters​

• toolInstanceName: string

Returns​

any

A tool instance.

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:86


getToolInstances()​

getToolInstances(): Record<string, unknown>

Retrieves the tool instances associated with this tool group.

Returns​

Record<string, unknown>

A record containing the tool instances, where the keys are the tool names and the values are the tool instances.

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:103


getToolOptions()​

getToolOptions(toolName): ToolOptionsType

Get the options for a given tool

Parameters​

• toolName: string

The name of the tool.

Returns​

ToolOptionsType

the tool options

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:595


getViewportIds()​

getViewportIds(): string[]

Get the viewport IDs of all the viewports in the current viewport

Returns​

string[]

An array of viewport IDs.

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:70


getViewportsInfo()​

getViewportsInfo(): IViewportId[]

Returns the toolGroup viewports info which is an array of {viewportId, renderingEngineId}

Returns​

IViewportId[]

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:77


hasTool()​

hasTool(toolName): boolean

Check if a tool is already added to the tool group

Parameters​

• toolName: string

Tool name

Returns​

boolean

True if the tool is already added or false otherwise

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:112


removeViewports()​

removeViewports(renderingEngineId, viewportId?): void

Removes viewport from the toolGroup. If only renderingEngineId is defined it removes all the viewports with the same renderingEngineId, if viewportId is also provided, it will remove that specific viewport from the ToolGroup.

Parameters​

• renderingEngineId: string

renderingEngine id

• viewportId?: string

viewport id

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:252


setActivePrimaryTool()​

setActivePrimaryTool(toolName): void

Set Primary tool active Get the current active primary tool name and disable that And set the new tool active

Parameters​

• toolName: string

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:779


setActiveStrategy()​

setActiveStrategy(toolName, strategyName): void

Parameters​

• toolName: string

• strategyName: string

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:286


setToolActive()​

setToolActive(toolName, toolBindingsOptions): void

Set the tool mode on the toolGroup to be Active. This means the tool can be actively used by the defined bindings (e.g., Mouse primary click)

  • Can be actively used by mouse/touch events mapped to its ToolBindings.
  • Can add data if an annotation tool.
  • Can be passively interacted by grabbing a tool or its handles.
  • Renders data if the tool has a renderAnnotation method.

Parameters​

• toolName: string

tool name

• toolBindingsOptions: SetToolBindingsType = ...

tool bindings

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:348


setToolConfiguration()​

setToolConfiguration(toolName, configuration, overwrite?): boolean

Set a configuration of a tool by the given toolName. Use overwrite as true in case you want to overwrite any existing configuration (be careful, depending on config change it might break the annotation flow).

Parameters​

• toolName: string

• configuration: ToolConfiguration

• overwrite?: boolean

Returns​

boolean

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:692


setToolDisabled()​

setToolDisabled(toolName): void

Set the tool mode on the toolGroup to be Disabled.

  • Annotation does not render.

Parameters​

• toolName: string

tool name

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:562


setToolEnabled()​

setToolEnabled(toolName): void

Set the tool mode on the toolGroup to be Enabled.

  • Renders data if the tool has a renderAnnotation method..

Parameters​

• toolName: string

tool name

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:528


setToolMode()​

setToolMode(toolName, mode, options): void

Parameters​

• toolName: string

• mode: ToolModes

• options: SetToolBindingsType = ...

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:300


setToolPassive()​

setToolPassive(toolName, options?): void

Set the tool mode on the toolGroup to be Passive.

  • Can be passively interacted by grabbing a tool or its handles.
  • Renders data if the tool has a renderAnnotation method.

Parameters​

• toolName: string

tool name

• options?

Options used when setting the tool as passive

  • removeAllBindings: only the primary button bindings are removed but if this parameter is set to true all bindings are removed.

• options.removeAllBindings?: boolean | IToolBinding[]

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:457


setViewportsCursorByToolName()​

setViewportsCursorByToolName(toolName, strategyName?): void

Parameters​

• toolName: string

• strategyName?: string

Returns​

void

Defined in​

tools/src/store/ToolGroupManager/ToolGroup.ts:621