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
このハンドルの名前。
show(value)
ハンドルを表示/非表示します。
value
Bool
値。ハンドルを表示するにはTrue
、非表示にするにはFalse
を設定します。
type()
: → string
ハンドルのタイプ名を返します。 この戻り値は、ハンドルをバインドする際に使用するタイプに相当します。詳細は、hou.ViewerStateTemplate.bindHandleまたはhou.ViewerStateTemplate.bindStaticHandleを参照してください。
update(immediate)
このメソッドは、強制的にハンドルを更新します。
Viewer Stateに変更を加えた時にそれらのハンドルのどれかを更新する必要がある場合に役立ちます。
動的ハンドルに関しては、これはonStateToHandle
コールバックのコールをトリガーするので、Viewer Stateが適切にハンドルパラメータ(s)を更新することができます。
immediate
更新を行なうタイミングを制御します。 Falseの場合、Houdiniがアイドル状態になるまで更新が遅延されます。 Trueの場合、即座に更新が行なわれます。 デフォルトはFalseです。
visible()
: → 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
ハンドル固有の設定を含んだ文字列。 複数の設定は、スペースで区切ってください。