On this page |
概要 ¶
Handle
クラスは、Viewer Statesにバインドされたハンドルを制御することができます。
メソッド ¶
__init__(scene_viewer, name)
指定した名前のハンドルにアクセスするためのオブジェクトを作成します。通常では、hou.HandleはPython Viewer Statesと併用します。
Warning
通常では、ハンドルオブジェクトはPython Viewer Stateコンストラクタから生成します。
しかし、Handle
オブジェクトのメソッドをコールするには、一度そのステートになってから実行しなければなりません。そうしないと例外が発生してしまいます。
scene_viewer
ハンドルが使用されるシーンビューアを参照したhou.SceneViewerオブジェクト。そのシーンビューアが互換性がなければ例外が発生します。
name
ハンドルオブジェクトを識別するための文字列。この名前は、バインド時に使用されるハンドルの名前に相当します。詳細は、hou.ViewerStateTemplate.bindHandleまたはhou.ViewerStateTemplate.bindStaticHandleを参照してください。
class MyState(object): def __init__(self, state_name, scene_viewer): self.state_name = state_name self.scene_viewer = scene_viewer self.handle = hou.Handle(scene_viewer, "Transform") # ステートとそのバインドを記述したテンプレートを作成します。 template = hou.ViewerStateTemplate("mystate", "My Custom State", hou.sopNodeTypeCategory()) template.bindFactory(MyState) template.bindHandle("xform", "Transform")
name()
: → string
このハンドルの名前。
label()
: → string
UI表示用のこのハンドルのラベル。
show(value)
ハンドルを表示/非表示します。
value
Bool
値。ハンドルを表示するにはTrue
、非表示にするにはFalse
を設定します。
type()
: → string
ハンドルのタイプ名を返します。 この戻り値は、ハンドルをバインドする際に使用するタイプに相当します。詳細は、hou.ViewerStateTemplate.bindHandleまたはhou.ViewerStateTemplate.bindStaticHandleを参照してください。
update(immediate, node_update=False, force_update=False)
どれかのパラメータの値が変更された場合にハンドルを更新します。
Viewer Stateに変更を加えた時にそれらのハンドルのどれかを更新する必要がある場合に役立ちます。
動的ハンドルに関しては、これはonStateToHandle
コールバックのコールをトリガーするので、Viewer Stateが適切にハンドルパラメータ(s)を更新することができます。
immediate
更新を行なうタイミングを制御します。 Falseの場合、Houdiniがアイドル状態になるまで更新が遅延されます。 Trueの場合、即座に更新が行なわれます。 デフォルトはFalseです。
node_update
デフォルトでは、update
コールするとハンドルパラメータが更新されます。
node_update
をTrue
に設定すると、代わりにこのハンドルにバインドされているステートノードパラメータが更新されます。
Note
このフラグはPythonビューアハンドルにのみ対応しています。
force_update
大元のハンドルを強制的に更新します(デフォルトはFalse)。 通常では、UIを更新する際にはHUDハンドルと一緒に使用します。
Note
このフラグはPythonビューアハンドルにのみ対応しています。
visible()
: → bool
ハンドルが可視ならTrue
、不可視ならFalse
を返します。
isValid()
: → bool
ハンドルが適切に作成されていればTrue
を、そうでないならFalse
を返します。
isActive()
: → bool
ハンドルがアクティブになっていればTrue
、そうでないならFalse
を返します。
このメソッドは、現行ステートによってハンドルが初期化されアクティブになったことを示します。
enableParms(parm_names)
parm_names
で指定したこのハンドルのパラメータを動的に有効にします。
handle_parms
が空っぽ(デフォルト)の場合、すべてのハンドルパラメータが有効になります。
ハンドルが動的にViewerステートにバインドされていなかった場合は、例外を引き起こします。
Note
xform
などの一部のハンドルは、有効にしても即座にそのコンポーネントを表示しない場合があります。
これは、そのコンポーネントが以前に無効になっていた場合で起こり得ます。
例えば、回転(rx,ry,rz)を無効にして再度有効にしても、回転ノブを表示していた前の回転モードが復元されなくなります。
この回転モードを復元するには、Y
キーで循環させるか、hou.Handle.applySettingをコールする必要があります。
hou.Handle.disableParmsも参照してください。
parm_names
有効にしたいハンドルパラメータを指定した名前のリスト。
parm_names
には、ここに載せているハンドルパラメータ名を含める必要があります。
parm_names
に不明なパラメータ名が含まれていれば、例外が引き起こされます。
disableParms(parm_names)
このメソッドは、hou.Handle.enableParmsと反対の処理を行ない、parm_names
で指定されたハンドルパラメータを動的に無効にします。
handle_parms
が空っぽ(デフォルト)の場合、すべてのハンドルパラメータが無効になります。
ハンドルが動的にViewerステートにバインドされていなかった場合は、例外を引き起こします。
parm_names
無効にしたいハンドルパラメータを指定した名前のリスト。
parm_names
には、ここに載せているハンドルパラメータ名を含める必要があります。
parm_names
に不明なパラメータ名が含まれていれば、例外が引き起こされます。
applySettings(settings)
1つ以上の設定をこのハンドルに追加します。
settings
ハンドル固有の設定を含んだ文字列。 複数の設定は、スペースで区切ってください。
isPersistent()
: → bool
Returns True
if the handle is a persistent handle, False
otherwise.
makePersistent(value)
Turns this handle to a persistent handle to make it visible when the node’s handle is not selected.
value
If True
, the handle is set as a persistent handle. If False
, the handle is set to non-persistent and will only be visible when the node is selected.
Note
HUD handles, like HUD handles for parameters, are deleted and removed from the viewer if value
is False
.
parmPaths()
: → list of string
Returns all parm paths mapped to this handle. A parm path is useful for creating a hou.Parm
object.
nodePath(index)
: → string
Returns the node path for this handle.
index
The node index. Defaults to 0.
info()
: → string
Returns a JSON dictionary string representing the python handle definition for this handle. Returns an empty string if the underlying handle type is not a python handle.
See also hou.ui.viewerHandleInfo
isDynamic()
: → bool
Returns True
if the handle is bound to a python state dynamically.
makeAsDefault()
Make the current handle parms values the new default for the underlying handle type.
revertToDefault()
Set the current handle parms values with the handle default values.
revertToFactoryDefault()
Set the current handle parms values with the parms default values of the node definition. NOTE
This method overwrites the current handle parms default values as well.
exportToHDA()
Adds the handle and its parms to the currently open digital asset editor.
exportParmsToHDA()
Adds the handle parms to the currently open digital asset editor.
beginUndo()
Opens an undo block to perform undoable operations with the underlying handle. All operations performed after the opening will appear as one single operation on the undo stack. Use hou.Handle.endUndo to close an open block.
endUndo()
Closes an undo block previously opened with hou.Handle.beginUndo.