cymel.utils.operation

Maya操作関連。

Classes:

NonUndoable

アンドゥ不可で実行するコンテキスト。

PreserveSelection

元の選択状態を復元できるコンテキスト。

UndoChunk

1つのアンドゥチャンクを作るコンテキスト。

UndoTransaction

コンテキストで例外が発生した場合にアンドゥするトランザクション。

WaitCursor

ウェイトカーソルを表示するコンテキスト。

Functions:

docmd(do, undo[, redo])

任意の callable オブジェクトを与えて undo 可能なコマンドとして実行する。

Functions Details:

cymel.utils.operation.docmd(do, undo, redo=None)

任意の callable オブジェクトを与えて undo 可能なコマンドとして実行する。

そのままだと undo/redo が不可能な処理を undo 可能として実行することが出来る。

パラメータ:
  • do -- 最初の実行用の実行可能オブジェクト。

  • undo -- undo 用の実行可能オブジェクト。

  • redo -- redo 用の実行可能オブジェクト。 省略すると do が使用される。

>>> import maya.cmds as cmds
>>> import cymel.main as cm
>>> v = cmds.jointDisplayScale(q=True)
>>> cm.docmd(lambda: cmds.jointDisplayScale(v*10), lambda: cmds.jointDisplayScale(v))
>>> cmds.undo()
>>> v == cmds.jointDisplayScale(q=True)
True