On this page |
概要
Handle
クラスは、Viewer Statesにバインドされたハンドルを制御することができます。
メソッド
__init__(scene_viewer, name)
指定した名前のハンドルにアクセスするためのオブジェクトを作成します。 典型的には、hou.HandleはViewer Statesと併用することで、どのPythonステートコールバックからでもそのメソッドをコールすることができます。 ただし、少し注意点があります。 Pythonステートコンストラクタからメソッドをコールしないようにしてください。それをしてしまうとランタイムエラーが発生してしまいます。
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(self,value)
ハンドルを表示/非表示します。
value
Bool
値。ハンドルを表示するにはTrue
、非表示にするにはFalse
を設定します。
type()
: → string
ハンドルのタイプ名を返します。 この戻り値は、ハンドルをバインドする際に使用するタイプに相当します。詳細は、hou.ViewerStateTemplate.bindHandle()またはhou.ViewerStateTemplate.bindStaticHandleを参照してください。
update()
このメソッドは、強制的にハンドルを更新します。
Viewer Stateに変更を加えた時にそれらのハンドルのどれかを更新する必要がある場合に役立ちます。
動的ハンドルに関しては、これはonStateToHandle
コールバックのコールをトリガーするので、Viewer Stateが適切にハンドルパラメータ(s)を更新することができます。
visible()
: → bool
ハンドルが可視ならTrue
、不可視ならFalse
を返します。