# IRiWidgets Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | ActivateWidget ([in] BSTR bszWidgetName,[in] BSTR bszAspectName,[in] BSTR bParametersName,[in] BSTR bszControlledNodeName)
HRESULT | AddWidget ([in] BSTR bszWidgetName,[in] BSTR bszAspectName,[in] BSTR bParametersName,[in] BSTR bszControlledNodeName)
HRESULT | ActivateViewWidget ([in] BSTR bszWidgetName,[in] BSTR bszAspectName,[in] BSTR bszViewNode)
HRESULT | ActivateToolWidget ([in] BSTR bszWidgetName,[in] BSTR bszAspectName)
HRESULT | ReplaceWidget ([in] BSTR bszGroupId,[in] BSTR bszWidgetName,[in] BSTR bszAspectName,[in] BSTR bszParametersName,[in] BSTR bszControlledNodeName)
HRESULT | ActivateDefaultWidget ()
HRESULT | SetWidgetGroupDependency ([in] BSTR bszSource,[in] BSTR bszDependent)
HRESULT | RemoveWidgetGroupDependency ([in] BSTR bszSource,[in] BSTR bszDependent)
HRESULT | ActivateViewToolWidget ([in] BSTR bszWidgetName,[in] BSTR bszAspectName)
HRESULT | UpdateCSSToolbars ()
HRESULT | Move ([in] BSTR bszSelection,[in]VARIANT fWx,[in]VARIANT fWy,[in]VARIANT fWz)
HRESULT | Rotate ([in] BSTR bszSelection,[in]VARIANT fY,[in]VARIANT fP,[in]VARIANT fR,[in]VARIANT fWx,[in]VARIANT fWy,[in]VARIANT fWz)
HRESULT | Scale ([in] BSTR bszSelection,[in]VARIANT fscx,[in]VARIANT fscy,[in]VARIANT fscz,[in]VARIANT fshxy,[in]VARIANT fshxz,[in]VARIANT fshyz,[in]VARIANT fWx,[in]VARIANT fWy,[in]VARIANT fWz)
HRESULT | RotateWorld ([in] BSTR bszSelection,[in]VARIANT fY,[in]VARIANT fP,[in]VARIANT fR,[in]VARIANT fWx,[in]VARIANT fWy,[in]VARIANT fWz)
HRESULT | DeactivateDefaultWidgets ()
HRESULT | ChangeKeyName ([in] BSTR szNode,[in] BSTR szConnector)
HRESULT | SetConListValue ([in] BSTR szConnector,[in] BSTR szNewValue)
HRESULT | Transform ([in] BSTR bszSelection,[in]VARIANT frx,[in]VARIANT fry,[in]VARIANT frz,[in]VARIANT fscx,[in]VARIANT fscy,[in]VARIANT fscz,[in]VARIANT fshxy,[in]VARIANT fshxz,[in]VARIANT fshyz,[in]VARIANT fWx,[in]VARIANT fWy,[in]VARIANT fWz)
HRESULT | CreateMarkersSet ([out, retval] IDispatch **ppMarkersSet)
HRESULT | ActivateDefaultTool ()
HRESULT | ToggleWidget ([in] BSTR bszGroupId,[in] BSTR bszWidgetName,[in] BSTR bszAspectName,[in] BSTR bszParametersName,[in] BSTR bszControlledNodeName)

## Detailed Description

The IRiWidgets interface:

- Provides methods to work with Widget rosetta widget subsystem.
- It contains functions to activate, deactivate and replace widgets.
- Allows you to change group dependencies.
- Also contains wrappers for some common widget actions (move, scale rotate).
  Root-level name in the scripting engine's name space: Widgets.

## Member Function Documentation

HRESULT IRiWidgets::ActivateWidget | ( | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName,
|  | [in] BSTR | bParametersName,
|  | [in] BSTR | bszControlledNodeName |
| ) |  |  |

Activate specified widget.

- If widget path specifies encapsulator, widget activation procedure searches for most appropriate widget, using automatic widget activation mechanism.
- Widget activation, deactivates currently activated widget in the same group.

Parameters:

  | bszWidgetName | [in] Widget node name, or encapsulator with widgets, in dependency graph.
  | bszAspectName | [in] Initial aspect for widget.
  | bParametersName | [in] Additional widget parameters: For example when you activate point edit you can specify if topology operations are allowed. For primitive tool it contains identifiers for primitive factory and primitive manager. These parameters are read by widget nodes.
  | bszControlledNodeName | [in] List of objects which will be controlled by the widget. Objects are separated by ';'

Returns:
  standard HRESULT processing can be applied to returned value.

          Widgets.ActivateWidget('/Widgets/Tools/Axes widget','Default', '', '/Project/Space 3D/Cube');

HRESULT IRiWidgets::AddWidget | ( | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName,
|  | [in] BSTR | bParametersName,
|  | [in] BSTR | bszControlledNodeName |
| ) |  |  |

Activate specified widget and add it to the default widget group.

- Purpose is to add specified widget, without deactivating existing widget.
- If widget path specifies encapsulator, widget activation procedure searches for most appropriate widget, using automatic widget activation mechanism.

Parameters:

  | bszWidgetName | [in] Widget node name, or encapsulator with widgets, in dependency graph.
  | bszAspectName | [in] Initial aspect for widget.
  | bParametersName | [in] Additional widget parameters: For example when you activate point edit you can specify if topology operations are allowed. For primitive tool it contains identifiers for primitive factory and primitive manager. These parameters are read by widget nodes.
  | bszControlledNodeName | [in] List of objects which will be controlled by the widget. Objects are separated by ';'

Returns:
  standard HRESULT processing can be applied to returned value.

          Widgets.AddWidget('/Widgets/Tools/Axes widget','Default', '', '/Project/Space 3D/Cube');

HRESULT IRiWidgets::ActivateViewWidget | ( | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName,
|  | [in] BSTR | bszViewNode |
| ) |  |  |

Activate specified widget and add it to the widget view widgets group.

- If widget path specifies encapsulator, widget activation procedure searches for most appropriate widget, using automatic widget activation mechanism.

Parameters:

  | bszWidgetName | [in] Widget node name, or encapsulator with widgets, in dependency graph.
  | bszAspectName | [in] Initial aspect for widget.
  | bszViewNode | [in] List of objects which will be controlled by widget. For view widget, this may be '', as this value will most likely be updated by RnUpdateEyeCamera node or similar hook.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::ActivateToolWidget | ( | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName |
| ) |  |  |

Activate specified widget and add it to the widget tool widgets group.

- If widget path specifies encapsulator, widget activation procedure searches for most appropriate widget, using automatic widget activation mechanism.
- Widget controlled nodes will be filled with current selection.
- Users may link RnSynchronizeWithSelection node to maintain this lists up to date.

Parameters:

  | bszWidgetName | [in] Widget node name or encapsulator with widgets in dependency graph.
  | bszAspectName | [in] Initial aspect for widget.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::ReplaceWidget | ( | [in] BSTR | bszGroupId,
|  | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName,
|  | [in] BSTR | bszParametersName,
|  | [in] BSTR | bszControlledNodeName |
| ) |  |  |

Activate specified widget and add it to specified group.

- Activation, deactivates all widgets in the specified group.
- If widget path specifies encapsulator, widget activation procedure searches for most appropriate widget, using automatic widget activation mechanism.

Parameters:

  | bszGroupId | [in] Specify group GUID to activate and add the widget to.
  | bszWidgetName | [in] Widget node name, or encapsulator with widgets in dependency graph.
  | bszAspectName | [in] Initial aspect for widget.
  | bszControlledNodeName | [in] List of nodes.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::ActivateDefaultWidget | ( |  | ) |

Activate widget from 'Widgets/Select' group.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::SetWidgetGroupDependency | ( | [in] BSTR | bszSource,
|  | [in] BSTR | bszDependent |
| ) |  |  |

Set widget dependency.

- If a widget group becomes deactivated, all dependent groups are also invalidated.

Parameters:

  | bszSource | [in] Specify parent group GUID.
  | bszDependent | [in] Specify children group GUID.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::RemoveWidgetGroupDependency | ( | [in] BSTR | bszSource,
|  | [in] BSTR | bszDependent |
| ) |  |  |

Remove widget dependency.

Parameters:

  | bszSource | [in] Specify parent group GUID.
  | bszDependent | [in] Specify children group GUID.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::ActivateViewToolWidget | ( | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName |
| ) |  |  |

Activate specified widget into view tool group.

- If widget path specifies encapsulator, widget activation procedure searches for most appropriate widget, using automatic widget activation mechanism.
- Widget controlled nodes will be filled with current selection.
- Users may link RnSynchronizeWithSelection node to maintain this lists up to date.

Parameters:

  | bszWidgetName | [in] Widget node name or encapsulator with widgets in dependency graph.
  | bszAspectName | [in] Initial aspect for widget.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::UpdateCSSToolbars | ( |  | ) |

UpdateCSSToolbars

HRESULT IRiWidgets::Move | ( | [in] BSTR | bszSelection,
|  | [in] VARIANT | fWx,
|  | [in] VARIANT | fWy,
|  | [in] VARIANT | fWz |
| ) |  |  |

Move script command wrapper for widget Move actions.

Parameters:

  | bszSelection | [in] Specifies selected nodes.
  | fWx | [in] Displacement around X axis.
  | fWy | [in] Displacement around Y axis.
  | fWz | [in] Displacement around Z axis.

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRiWidgets::Rotate | ( | [in] BSTR | bszSelection,
|  | [in] VARIANT | fY,
|  | [in] VARIANT | fP,
|  | [in] VARIANT | fR,
|  | [in] VARIANT | fWx,
|  | [in] VARIANT | fWy,
|  | [in] VARIANT | fWz |
| ) |  |  |

Rotate script command wrapper for widget Rotate actions.

Parameters:

  | bszSelection | [in] Specifies selected nodes.
  | fY | [in] Yaw.
  | fP | [in] Pitch.
  | fR | [in] Roll.
  | fWx | [in] Displacement in X.
  | fWy | [in] Displacement in Y.
  | fWz | [in] Displacement in Z.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::Scale | ( | [in] BSTR | bszSelection,
|  | [in] VARIANT | fscx,
|  | [in] VARIANT | fscy,
|  | [in] VARIANT | fscz,
|  | [in] VARIANT | fshxy,
|  | [in] VARIANT | fshxz,
|  | [in] VARIANT | fshyz,
|  | [in] VARIANT | fWx,
|  | [in] VARIANT | fWy,
|  | [in] VARIANT | fWz |
| ) |  |  |

Scale script command wrapper for widget Scale actions.

Parameters:

  | bszSelection | [in] Specifies selected nodes.
  | fscx | [in] Scale around X axis.
  | fscy | [in] Scale around Y axis.
  | fscz | [in] Scale around Z axis.
  | fshxy | [in] Shear in xy.
  | fshxz | [in] Shear in xz.
  | fshyz | [in] Shear in yz.
  | fWx | [in] Displacement around X axis.
  | fWy | [in] Displacement around Y axis.
  | fWz | [in] Displacement around Z axis.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::RotateWorld | ( | [in] BSTR | bszSelection,
|  | [in] VARIANT | fY,
|  | [in] VARIANT | fP,
|  | [in] VARIANT | fR,
|  | [in] VARIANT | fWx,
|  | [in] VARIANT | fWy,
|  | [in] VARIANT | fWz |
| ) |  |  |

Rotate script command wrapper for widget RotateWorld action.

- Rotation is performed by reversed multiplication.

Parameters:

  | bszSelection | [in] Specifies selected nodes.
  | fY | [in] Yaw.
  | fP | [in] Pitch.
  | fR | [in] Roll.
  | fWx | [in] Displacement in X.
  | fWy | [in] Displacement in Y.
  | fWz | [in] Displacement in Z.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::DeactivateDefaultWidgets | ( |  | ) |

Deactivate default widgets group.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::ChangeKeyName | ( | [in] BSTR | szNode,
|  | [in] BSTR | szConnector |
| ) |  |  |

Change keyboard button on connector by opening panel and querying the user to press a button/keystroke.

Parameters:

  | szNode | [in] Node path.
  | szConnector | [in] Connector to change.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::SetConListValue | ( | [in] BSTR | szConnector,
|  | [in] BSTR | szNewValue |
| ) |  |  |

Helper script command for setting new value for RdStr connector.

Parameters:

  | szConnector | [in] Connector path.
  | szNewValue | [in] New value to be set to connector.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::Transform | ( | [in] BSTR | bszSelection,
|  | [in] VARIANT | frx,
|  | [in] VARIANT | fry,
|  | [in] VARIANT | frz,
|  | [in] VARIANT | fscx,
|  | [in] VARIANT | fscy,
|  | [in] VARIANT | fscz,
|  | [in] VARIANT | fshxy,
|  | [in] VARIANT | fshxz,
|  | [in] VARIANT | fshyz,
|  | [in] VARIANT | fWx,
|  | [in] VARIANT | fWy,
|  | [in] VARIANT | fWz |
| ) |  |  |

Transform script command wrapper for widget general transform actions.

Parameters:

  | bszSelection | specifies selected nodes.
  | frx | [in] Rotate around X axis.
  | fry | [in] Rotate around Y axis.
  | frz | [in] Rotate around Z axis.
  | fscx | [in] Scale around X axis.
  | fscy | [in] Scale around Y axis.
  | fscz | [in] Scale around Z axis.
  | fshxy | [in] Shear xy.
  | fshxz | [in] Shear xz.
  | fshyz | [in] Shear yz.
  | fWx | [in] Displacement in X.
  | fWy | [in] Displacement in Y.
  | fWz | [in] Displacement in Z.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::CreateMarkersSet | ( | [out, retval] IDispatch ** | ppMarkersSet | ) |

Create markers visualization fn set.

Returns:
  ppMarkersSet [out,retval] Interface to markers visualization set.

  standard HRESULT processing can be applied to returned value.

HRESULT IRiWidgets::ActivateDefaultTool | ( |  | ) |

Activate default tool for current selection.

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRiWidgets::ToggleWidget | ( | [in] BSTR | bszGroupId,
|  | [in] BSTR | bszWidgetName,
|  | [in] BSTR | bszAspectName,
|  | [in] BSTR | bszParametersName,
|  | [in] BSTR | bszControlledNodeName |
| ) |  |  |

If widget is not active, activate it. Otherwise activate default tool which should deactivate it.

Parameters:

  | bszGroupId | [in] Specify group GUID to activate and add the widget to.
  | bszWidgetName | [in] Widget node name
  | bszAspectName | [in] Initial aspect for widget.
  | bszParametersName | [in] Additional widget parameters
  | bszControlledNodeName | [in] List of nodes.

Returns:
  standard HRESULT processing can be applied to returned value