# IRsToolController Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | SetUVEditorNode ([in] IRsNode *pUVEditorNode)
HRESULT | Destroy ()
HRESULT | SetTool ([in] UVEActiveTool eActiveTool)
HRESULT | SetSelectionPrimitive ([in] UVESelectionPrimitive eSelectionPrimitive)
HRESULT | SetViewportData ([in] const RtUVcoord &coord,[in] RtFloat zoom,[in] RtFloat aspect,[in] RtBool bExtern)
HRESULT | RotationChanged ([in] RtFloat fDelta)
HRESULT | SelectionChanged ()
HRESULT | WindowFocusGained ()
HRESULT | WindowFocusLost ()

## Detailed Description

Externally this object acts as a single persistent tool for kernel tool manager.

- Internally it handles multiple tools which are active simultaneously in UVE.
- Enables processing of mouse events inside the user interface thread.

## Member Function Documentation

HRESULT IRsToolController::SetUVEditorNode | ( | [in] IRsNode * | pUVEditorNode | ) |

Target UV editor node.

Parameters:

  | pUVEditorNode | [in] Set target UV editor node.

HRESULT IRsToolController::Destroy | ( |  | ) |

Internals cleanup.

HRESULT IRsToolController::SetTool | ( | [in] UVEActiveTool | eActiveTool | ) |

Sets current active tool (determined from toolbar).

Parameters:

  | eActiveTool | [in] Set current active tool.

HRESULT IRsToolController::SetSelectionPrimitive | ( | [in] UVESelectionPrimitive | eSelectionPrimitive | ) |

Sets current selection primitive (determined from toolbar).

Parameters:

  | eSelectionPrimitive | [in] Set current selection primitive.

HRESULT IRsToolController::SetViewportData | ( | [in] const RtUVcoord & | coord,
|  | [in] RtFloat | zoom,
|  | [in] RtFloat | aspect,
|  | [in] RtBool | bExtern |
| ) |  |  |

Sets up current viewport, call is propagated to navigation tool.

Parameters:

  | coord | [in] UVE panning.
  | zoom | [in] Current zoom.
  | aspect | [in] Current aspect ratio which changes with resizing UVE window.
  | bExtern | [in] If true, it is called by external command rather than by navigation tool. For example RcCenterSelection is the external command which updates viewport.

HRESULT IRsToolController::RotationChanged | ( | [in] RtFloat | fDelta | ) |

Callback from transform change tool to notify that rotation of selection has been changed by delta (in radians), forwarded to info panel.

Parameters:

  | fDelta | [in] Delta in radians value.

HRESULT IRsToolController::SelectionChanged | ( |  | ) |

Callback from selection change tool to notify that selection has been changed (forwarded to info panel).

HRESULT IRsToolController::WindowFocusGained | ( |  | ) |

Callback for window focus called from RsUVEditor window event handler.

HRESULT IRsToolController::WindowFocusLost | ( |  | ) |

Callback for window focus called from RsUVEditor window event handler.