| Name | Inherited from | Description | 
| applyToolSettingPropertyChange(_updatedValue: ToolSettingsPropertySyncItem): boolean | InteractiveTool | Used to receive property changes from UI. | 
| autoLockTarget(): void | PrimitiveTool | Called on data button down event to lock the tool to its current target model. | 
| beginDynamics(): void | InteractiveTool | Call to initialize dynamics mode. | 
| changeLocateState(enableLocate: boolean, enableSnap?: false | true, cursor?: string, coordLockOvr?: CoordinateLockOverrides): void | InteractiveTool | Helper method to keep the view cursor, display of locate circle, and coordinate lock overrides consistent with isLocateEnabled and isSnapEnabled. | 
| decorate(_context: DecorateContext): void | InteractiveTool | Called to allow an active tool to display non-element decorations in overlay mode. | 
| decorateSuspended(_context: DecorateContext): void | InteractiveTool | Called to allow a suspended tool to display non-element decorations in overlay mode. | 
| endDynamics(): void | InteractiveTool | Call to terminate dynamics mode. | 
| exitTool(): void | PrimitiveTool |  | 
| filterHit(_hit: HitDetail, _out?: LocateResponse): Promise<LocateFilterStatus> | InteractiveTool | Invoked to allow tools to filter which elements can be located. | 
| getCurrentButtonEvent(ev: BeButtonEvent): void | InteractiveTool | Fill the supplied button event from the current cursor location. | 
| getDecorationGeometry(_hit: HitDetail): GeometryStreamProps | undefined | InteractiveTool | Called to allow snapping to pickable decoration geometry. | 
| getPrompt(): string | PrimitiveTool | Returns the prompt based on the tool's current state. | 
| getToolTip(_hit: HitDetail): Promise<HTMLElement | string> | InteractiveTool | Invoked before the locate tooltip is displayed to retrieve the information about the located element. | 
| initLocateElements(enableLocate?: false | true, enableSnap?: false | true, cursor?: string, coordLockOvr?: CoordinateLockOverrides): void | InteractiveTool | Helper method for tools that need to locate existing elements. | 
| isValidLocation(ev: BeButtonEvent, isButtonEvent: boolean): boolean | PrimitiveTool | Checks that the adjusted point from the supplied button event is within the project extents for spatial views. | 
| onCleanup(): void | InteractiveTool | Invoked when the tool becomes no longer active, to perform additional cleanup logic | 
| onDataButtonDown(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the data button is pressed. | 
| onDataButtonUp(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the data button is released. | 
| onDynamicFrame(_ev: BeButtonEvent, _context: DynamicsContext): void | InteractiveTool | Called to allow Tool to display dynamic elements. | 
| onKeyTransition(_wentDown: boolean, _keyEvent: KeyboardEvent): Promise<EventHandled> | InteractiveTool | Called when any key is pressed or released. | 
| onMiddleButtonDown(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the middle mouse button is pressed. | 
| onMiddleButtonUp(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the middle mouse button is released. | 
| onModifierKeyTransition(_wentDown: boolean, _modifier: BeModifierKeys, _event: KeyboardEvent): Promise<EventHandled> | InteractiveTool | Called when Control, Shift, or Alt modifier keys are pressed or released. | 
| onMouseEndDrag(ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the button is released after onMouseStartDrag. | 
| onMouseMotion(_ev: BeButtonEvent): Promise<void> | InteractiveTool | Invoked when the cursor is moving | 
| onMouseStartDrag(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the cursor begins moving while a button is depressed. | 
| onMouseWheel(_ev: BeWheelEvent): Promise<EventHandled> | InteractiveTool | Invoked when the mouse wheel moves. | 
| onRedoPreviousStep(): Promise<boolean> | PrimitiveTool | Called to reinstate to a previous tool state (ex. | 
| onReinitialize(): void | PrimitiveTool | Called to reset tool to initial state. | 
| onResetButtonDown(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the reset button is pressed. | 
| onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> | InteractiveTool | Invoked when the reset button is released. | 
| onSelectedViewportChanged(_previous: Viewport | undefined, current: Viewport | undefined): void | PrimitiveTool | Called when active view changes. | 
| onSuspend(): void | InteractiveTool | Notification of a ViewTool or InputCollector starting and this tool is being suspended. | 
| onTouchEnd(_ev: BeTouchEvent): Promise<void> | InteractiveTool | Called when user removes a touch point by lifting a finger or stylus from the surface. | 
| onTouchStart(_ev: BeTouchEvent): Promise<void> | InteractiveTool | Called when user adds a touch point by placing a finger or stylus on the surface. | 
| onTouchTap(_ev: BeTouchEvent): Promise<EventHandled> | InteractiveTool | Called when touch point(s) are added and removed from a surface within a small time window without any touch point moving. | 
| onUndoPreviousStep(): Promise<boolean> | PrimitiveTool | Called to reverse to a previous tool state (ex. | 
| parseAndRun(..._args: string[]): boolean | Tool | Run this instance of a tool using a series of string arguments. | 
| run(..._args: any[]): boolean | PrimitiveTool | Establish this tool as the active PrimitiveTool. | 
| saveChanges(): Promise<void> | PrimitiveTool | Tools need to call SaveChanges to commit any elements they have added/changes they have made. | 
| supplyToolSettingsProperties(): ToolSettingsPropertyRecord[] | undefined | InteractiveTool | Used to supply list of properties that can be used to generate ToolSettings. | 
| syncToolSettingsProperties(syncData: ToolSettingsPropertySyncItem[]): void | InteractiveTool | Called by tool to synchronize the UI with property changes made by tool. | 
| testDecorationHit(_id: string): boolean | InteractiveTool | Called to support operations on pickable decorations, like snapping. | 
| register(namespace?: I18NNamespace, i18n?: I18N): void Static | Tool | Register this Tool class with the ($ToolRegistry$refLinkSource=imodeljs-markup/D:/vsts_a/3/s/core/markup/node_modules/@bentley/imodeljs-frontend/lib/tools/Tool.d.ts@241). |