ToolAdmin Class

Controls the operation of Tools, administering the current ViewTool, PrimitiveTool, and IdleTool and forwarding events to the appropriate tool.

extensions

Methods

Name Description
constructor(): ToolAdmin    
adjustPoint(pointActive: Point3d, vp: ScreenViewport, projectToACS: boolean = true, applyLocks: boolean = true): void    
adjustPointToACS(pointActive: Point3d, vp: Viewport, perpendicular: boolean): void    
adjustPointToGrid(pointActive: Point3d, vp: Viewport): void    
adjustSnapPoint(perpendicular: boolean = true): void    
bumpToolSetting(settingIndex?: number): Promise<boolean> Method used to "bump" the value of a tool setting for the current tool. Beta  
convertTouchEndToButtonUp(ev: BeTouchEvent, button: BeButton = BeButton.Data): Promise<void> Can be called by tools that wish to emulate releasing the mouse button for onTouchEnd or onTouchComplete.  
convertTouchMoveStartToButtonDownAndMotion(startEv: BeTouchEvent, ev: BeTouchEvent, button: BeButton = BeButton.Data): Promise<void> Can be called by tools that wish to emulate moving the mouse with a button depressed for onTouchMoveStart.  
convertTouchMoveToMotion(ev: BeTouchEvent): Promise<void> Can be called by tools that wish to emulate a mouse motion event for onTouchMove.  
convertTouchStartToButtonDown(ev: BeTouchEvent, button: BeButton = BeButton.Data): Promise<void> Can be called by tools that wish to emulate pressing the mouse button for onTouchStart or onTouchMoveStart.  
convertTouchTapToButtonDownAndUp(ev: BeTouchEvent, button: BeButton = BeButton.Data): Promise<void> Can be called by tools that wish to emulate mouse button down/up events for onTouchTap.  
dispatchImmediateUiSyncEvent(specificSyncEventId?: string, toolId?: string): void Method used by interactive tools to inform one or more UI components to refresh. Beta  
dispatchUiSyncEvent(specificSyncEventId?: string, toolId?: string): void Method used by interactive tools to inform one or more UI components to refresh. Beta  
doRedoOperation(): Promise<boolean> Called to redo previous data button for primitive tools or undo last write operation.  
doUndoOperation(): Promise<boolean> Called to undo previous data button for primitive tools or undo last write operation.  
filterViewport(vp: ScreenViewport): boolean Protected Return true to filter (ignore) events to the given viewport  
getToolTip(hit: HitDetail): Promise<string | HTMLElement> Ask the current tool to provide tooltip contents for the supplied HitDetail.  
onCtrlKeyPressed(keyEvent: KeyboardEvent): Promise<{ handled: boolean, result: boolean }> Process key down events while the Ctrl key is pressed  
processShortcutKey(_keyEvent: KeyboardEvent, _wentDown: boolean): Promise<boolean> Process shortcut key events  
processWheelEvent(ev: BeWheelEvent, doUpdate: boolean): Promise<EventHandled> Performs default handling of mouse wheel event (zoom in/out)  
reloadToolSettingsProperties(): void Method used by interactive tools to send request to reload UI from properties returned via method supplyToolSettingsProperties. Beta  
sendEndDragEvent(ev: BeButtonEvent): Promise<any>    
setCursor(cursor: undefined | string): void    
setLocateCircleOn(locateOn: boolean): void    
setLocateCursor(enableLocate: boolean): void    
startDefaultTool(): Promise<void> Starts the default Tool, if any.  
syncToolSettingsProperties(toolId: string, syncProperties: DialogPropertySyncItem[]): void Method used by interactive tools to send updated values to UI components, typically showing tool settings. Beta  
exceptionHandler(exception: any): Promise<any> Static A function that catches otherwise-uncaught exceptions occurring inside ToolAdmin.eventLoop.  

Properties

Name Type Description
acsContextLock boolean If ACS Plane Lock is on, standard view rotations are relative to the ACS instead of global.  
acsPlaneSnapLock boolean If ACS Snap Lock is on, project snap points to the ACS plane.  
activeTool Accessor ReadOnly undefined | InteractiveTool The currently active InteractiveTool.  
activeToolChanged Readonly BeEvent<(tool: Tool, start: StartOrResume) => void> Event raised whenever the active tool changes.  
assemblyLock boolean Apply operations such as transform, copy or delete to all members of an assembly.  
currentTool Accessor ReadOnly InteractiveTool The current tool.  
cursorView Accessor ReadOnly undefined | ScreenViewport Get the ScreenViewport where the cursor is currently, if any.  
defaultToolArgs Accessor undefined | any[] The arguments supplied to the default Tool's Tool.run method from ToolAdmin.startDefaultTool.  
defaultToolId Accessor string The name of the PrimitiveTool to use as the default tool.  
exceptionOptions Static { alertBox: boolean, details: boolean, launchDebugger: boolean, log: boolean } Options for how uncaught exceptions should be handled by ToolAdmin.exceptionHandler.  
gridLock boolean If Grid Lock is on, project data points to grid.  
idleTool Accessor InteractiveTool The idleTool handles events that are not otherwise processed.  
isLocateCircleOn Accessor ReadOnly boolean    
manipulatorToolEvent Readonly BeEvent<(tool: Tool, event: ManipulatorToolEvent) => void> Event raised by tools that support edit manipulators like the SelectTool.  
markupView undefined | ScreenViewport    
primitiveTool Accessor ReadOnly undefined | PrimitiveTool    
viewTool Accessor ReadOnly undefined | ViewTool    

Defined in

Last Updated: 20 June, 2023