# IRsMeshModifierNotify Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | OnMeshEditorActivate (IRsEditor *pMeshEditor, IRcUndoRedoGroup *pUndoRedo)
HRESULT | OnMeshEditorActivated (IRsEditor *pMeshEditor, IRcUndoRedoGroup *pUndoRedo)
HRESULT | OnMeshEditorDeactivate (IRsEditor *pMeshEditor, IRcUndoRedoGroup *pUndoRedo)
HRESULT | OnMeshEditorDeactivated (IRsEditor *pMeshEditor, IRcUndoRedoGroup *pUndoRedo)
HRESULT | OnModifiedNodeSelected (IRsMeshEditorUiAgent *pMeshEditorUiAgent)

## Detailed Description

This interface is implemented by mesh modifiers that require notifications about various mesh editor states.

During mesh editors activation, mesh pipeline is notified about it and tools can set various mesh editor states like request geometry identification stream, disabling of topology tools etc.

When editable mesh is selected, mesh pipeline is notified and can update mesh editor UI agent to enable/disable various UI states which controls UI buttons.

## Member Function Documentation

HRESULT IRsMeshModifierNotify::OnMeshEditorActivate | ( | IRsEditor * | pMeshEditor,
|  | IRcUndoRedoGroup * | pUndoRedo |
| ) |  |  |

Notify modifier node that mesh editor is being activated. Parameter is mesh editor which can be called to specify/test for required editor states and exact editor identification for pairing editor/modifier.

Parameters:

  | pMeshEditor | [in] Mesh editor that is causing activation.

Returns:
  pUndoRedo [out,retval] Container for collecting commands for undo/redo processing.
  - This parameter is NULL when redoing mesh activation.

  Standard HRESULT processing can be applied.

HRESULT IRsMeshModifierNotify::OnMeshEditorActivated | ( | IRsEditor * | pMeshEditor,
|  | IRcUndoRedoGroup * | pUndoRedo |
| ) |  |  |

Notify modifier node that mesh editor has been activated and all requested properties are set.

Parameters:

  | pMeshEditor | [in] Mesh editor that is causing activation.

Returns:
  pUndoRedo [out,retval] Container for collecting commands for undo/redo processing.
  - This parameter is NULL when undoing mesh deactivation.

  Standard HRESULT processing can be applied.

HRESULT IRsMeshModifierNotify::OnMeshEditorDeactivate | ( | IRsEditor * | pMeshEditor,
|  | IRcUndoRedoGroup * | pUndoRedo |
| ) |  |  |

Notify modifier node that mesh editor is going to be deactivated.

- Method is called while node is still in edit mode.

Parameters:

  | pMeshEditor | Mesh editor that is causing activation.
  | pUndoRedo | Container for collecting commands for undo/redo processing. This parameter is NULL when undoing mesh deactivation.

Returns:
  Standard HRESULT processing can be applied.

HRESULT IRsMeshModifierNotify::OnMeshEditorDeactivated | ( | IRsEditor * | pMeshEditor,
|  | IRcUndoRedoGroup * | pUndoRedo |
| ) |  |  |

Notify modifier node that mesh editor has been deactivated. Parameter is mesh editor node.

Parameters:

  | pMeshEditor | [in] Mesh editor that is causing activation.

Returns:
  pUndoRedo [out,retval] Container for collecting commands for undo/redo processing.
  - This parameter is NULL when undoing mesh deactivation.

  Standard HRESULT processing can be applied.

HRESULT IRsMeshModifierNotify::OnModifiedNodeSelected | ( | IRsMeshEditorUiAgent * | pMeshEditorUiAgent | ) |

Notify modifier that editable mesh node was selected. Modifier can update it's UI states if required.

Parameters:

  | pMeshEditorUiAgent | [in] UI agent handling mesh pipeline.

Returns:
  Standard HRESULT processing can be applied.