関数 ¶
visualizers(category=hou.viewportVisualizerCategory.Common, node=None)
→ tuple of hou.ViewportVisualizer
指定したカテゴリに対して、Houdiniに登録されているビューポートビジュアライザのタプルを返します。
category
引数は、hou.viewportVisualizerCategory列挙値でなければなりません。
そのcategory
をNodeに設定した場合は、node
引数を指定しなければなりません。
category
をCommonまたはSceneに設定し、node
引数も設定した場合は、TypeError
を引き起こします。
category
をNodeに設定し、node
引数がNoneに設定した場合は、TypeError
を引き起こします。
visualizerBySessionId(session_id)
→ hou.ViewportVisualizer
ビジュアライザのセッションIDを渡すと、ViewportVisualizerオブジェクトが返されます。 そのIDが有効なビジュアライザに呼応していない場合はNoneを返します。
Note
この関数は、Houdiniの内部で使用され、通常ではHoudiniのスクリプト作成やツール作成には必要ありません。
createVisualizer(type, category=hou.viewportVisualizerCategory.Common, node=None)
→ hou.ViewportVisualizer
指定したタイプで新しいビューポートビジュアライザを作成します。
type
引数は、hou.ViewportVisualizerTypeでなければなりません。
hou.viewportVisualizers.typesまたはhou.viewportVisualizers.typeをコールすることで、ビジュアライザタイプを取得することができます。
category
引数は、hou.viewportVisualizerCategory列挙値でなければなりません。
そのcategory
をNodeに設定した場合は、node
引数を指定しなければなりません。
category
をCommonまたはSceneに設定し、node
引数も設定した場合は、TypeError
を引き起こします。
category
をNodeに設定し、node
引数がNoneに設定した場合は、TypeError
を引き起こします。
types()
→ tuple of hou.ViewportVisualizerType
Houdiniで登録されているビジュアライザタイプのタプルを返します。
type(name)
→ hou.ViewportVisualizerType
指定した名前で登録されているビジュアライザタイプを返します。そのようなタイプがなければ、Noneを返します。
isCategoryActive(category, node=None, viewport=None)
→ bool
ビジュアライザカテゴリがアクティブならTrue、そうでないならFalseを返します。
CommonカテゴリとSceneカテゴリに関しては、指定したビューポートでアクティブならTrueを返します。
viewport
引数は、hou.GeometryViewportでなければなりません。
category
をCommonまたはSceneに設定し、node
引数も設定した場合は、TypeError
を引き起こします。
category
をNodeに設定し、node
引数がNoneに設定した場合は、TypeError
を引き起こします。
node
とviewport
の引数が両方とも設定されていれば、TypeError
を引き起こします。
Nodeビジュアライザは、すべてのビューポートでアクティブまたはどのビューポートでもアクティブではないかのどちらかです。
特定のビューポートにのみアクティブにすることができません。
setIsCategoryActive(on, category, node=None, viewport=None)
→ bool
指定したビジュアライザカテゴリのアクティブ状態を設定します。
CommonビジュアライザとSceneビジュアライザに関しては、指定したビューポートに対して設定しなければなりません。
viewport
引数は、hou.GeometryViewportでなければなりません。
category
をCommonまたはSceneに設定し、node
引数も設定した場合は、TypeError
を引き起こします。
category
をNodeに設定し、node
引数がNoneに設定した場合は、TypeError
を引き起こします。
node
とviewport
の引数が両方とも設定されていれば、TypeError
を引き起こします。
Nodeビジュアライザは、すべてのビューポートでアクティブまたはどのビューポートでもアクティブではないかのどちらかです。
特定のビューポートにのみアクティブにすることができません。
addEventCallback(event_types, callback, category=hou.viewportVisualizerCategory.Common, node=None)
特定のビジュアライザカテゴリに関連するアクションやイベントが発生する度にHoudiniがコールするPythonコールバックを登録します。
event_types
Houdiniにcallback
関数をコールさせるイベントタイプを示したhou.viewportVisualizerEventType列挙値のシーケンス。
callback
関数やバインドされたメソッドなどのコール可能なPythonオブジェクト。
event_types
内のどれかのイベントタイプが発生する度に、Houdiniはこの関数をコールします。
Houdiniは、そのコールバックを発動したイベントに呼応するhou.nodeEventType値を含んだevent_type
キーワード引数を使って、この関数をコールします。
Houdiniは、イベントタイプに応じて追加のキーワード引数を渡します。
例えば、VisualizerParmsChanged
イベントのコールバックでは、変更されたビジュアライザのhou.ViewportVisualizer参照を含んだvisualizer
キーワード引数がHoudiniから渡されます。
イベントタイプ別に渡される追加引数(あれば)については、hou.viewportVisualizerEventTypeを参照してください。
**kwargs
を引数リストに追加することで、すべてのキーワード引数を受け取ることができます。
これによって、同じコールバックを異なるイベントで使えるようになったり、将来の変更に対して安全なコードを組むことができます:
def event_callback(event_type, **kwargs): ...
Note
まったく同じコールバック関数を複数回追加しようとしても、Houdiniはそのイベントに対してその関数を1回しかコールしません。
ただし、異なるevent_types
に対して登録したい場合には、同じ関数を“追加”するのは役立つ場合があります。
event_types
リスト引数が空っぽの場合は、hou.OperationFailedを引き起こします。
以下の例では、Commonカテゴリ内のビジュアライザのどれかのパラメータが変更される度にコールされる関数をセットアップする方法を載せています:
def parm_changed(event_type, **kwargs): print("The parms have changed on ", kwargs['visualizer']) hou.viewportVisualizers.addEventCallback((hou.viewportVisualizerEventType.VisualizeParmsChanged.NameChanged, ), parm_changed)
hou.viewportVisualizers.removeEventCallbackとhou.viewportVisualizers.removeAllEventCallbacksも参照してください。
removeEventCallback(event_types, callback, category=hou.viewportVisualizerCategory.Common, node=None)
以前にこのカテゴリに追加されたコールバックとhou.viewportVisualizerEventType列挙値のシーケンスを渡すと、 そのコールバックに対するイベントタイプセットから、それらのイベントタイプが削除されます。 残りのイベントタイプセットが空っぽになった場合、そのコールバックはこのノードから完全に削除されます。
コールバックが以前に追加されていなかった場合はhou.OperationFailedを引き起こします。
詳細は、hou.viewportVisualizers.addEventCallbackを参照してください。
removeAllEventCallbacks(category=hou.viewportVisualizerCategory.Common, node=None)
このカテゴリから、すべてのイベントタイプのすべてのイベントコールバックを削除します。
詳細は、hou.viewportVisualizers.addEventCallbackを参照してください。
eventCallbacks(category=hou.viewportVisualizerCategory.Common, node=None)
→ tuple
of (tuple
of hou.viewportVisualizersEvent, callback)
hou.viewportVisualizers.addEventCallbackコールを使用してこのカテゴリに登録されたすべてのPythonコールバックのタプルを返します。