| Inheritance |
|
ネットワークドットは1個の入力しか持てませんが、たくさんの出力を持たせることができます。 このドットは、2つのノードに接続されたワイヤーを特定のパスに追従するように動かすことができます。 また、大きなネットワークで簡単に追加削除できるようにノードセットの“足場”として使用することもできます。
ドットを含めたいノードに対してhou.Node.createNetworkDotをコールすることで、新しいドットが作成されます。 hou.Node.networkDotsをコールすることで、ネットワーク内のすべての既存のドットのリストを生成することができます。
メソッド ¶
setPinned(pinned)
このドットのピン留め状態をブール値で設定します。 ピン留めされたドットは、ピン留めされていないドットと機能的には変わりませんが、ネットワークエディタからは別物として扱われます。 ピン留めされたドットは、その入力と出力の接続を削除しても残ります。 ピン留めされていないドットは、その入力または最後の出力を切断すると、ネットワークエディタによって自動的に削除されます。
以下のコードは、非接続のドットを自動的に削除するためのコードを大幅に簡略化したものです。 これは、ピン留めされていないドットと入力コネクタを持たないドットを削除します:
>>> net = hou.node('/obj') >>> net.createNetworkDot().setPinned(False) >>> net.createNetworkDot().setPinned(True) >>> net.networkDots() (<hou.NetworkDot dot1 in /obj>, <hou.NetworkDot dot2 in /obj>) >>> for dot in net.networkDots(): ... if not dot.isPinned(): ... if dot.inputItem() is None: ... dot.destroy() ... >>> net.networkDots() (<hou.NetworkDot dot2 in /obj>,)
isPinned()
→ bool
このドットのピン留め状態を返します。ピン留めドットの詳細は、hou.NetworkDot.setPinnedを参照してください。
setInput(item_to_become_input, output_index=0)
このドットの入力にネットワークアイテムを接続します。これは、このドットの出力に接続されているノードを効率的に再接続します。
output_indexが無効な場合はhou.InvalidInputを引き起こします。
item_to_become_inputがこのドットと同じネットワーク内になければhou.OperationFailedを引き起こします。
このドットがロックアセット内にあればhou.PermissionErrorを引き起こします。
setInput(input_index, item_to_become_input, output_index=0)
2つのパラメータ形式のsetInput関数で、このドットの入力にネットワークアイテムを接続します。
この2番目のシグネチャはhou.Node.setInputのシグネチャに合わせてください。
それによって、コードをネットワークドットまたはノードに対して実行させることができます。
input_indexの値は無視されます。
insertInput(input_index, item_to_become_input, output_index=0)
2つのパラメータ形式のinsertInput関数で、このドットの入力にネットワークアイテムを接続します。
このメソッド名とシグネチャはhou.Node.insertInputのシグネチャに合わせてください。
それによって、コードをネットワークドットまたはノードに対して実行させることができます。
input_indexの値は無視されます。
inputConnections()
→ tuple of hou.NodeConnection
このドットの入力接続のhou.NodeConnectionオブジェクトのタプルを返します。 このタプルの長さは、このドットの入力に何かが接続されていれば1になります。 何も接続されていなければ空っぽのタプルを返します。
destroy()
このドットを削除します。このドットの入力と出力の接続は、このドットを削除してもそのネットワークの挙動がなにも変わらないように自動的に再構築されます。
As Data ¶
詳細は、レシピを参照してください。
asData(inputs=True, position=False, metadata=False, verbose=False) -> dict[str, Any]
このネットワークドットを表現したJSONライクな構造体を返します。
inputs
これがTrueの場合、キャプチャ処理は入力コネクションを保存します。
position
これがTrueの場合,キャプチャ処理はノードの位置を保存します。
metadata
If this is True, the capture process saves additional information about nodes and parameters.
verbose
Normally, the capture process tries to omit and simplify various data structures.
If this is True, the capture process saves everything with full structure. This option mainly exists for debugging.
setFromData(data: dict[str, Any]) -> None
OpNode.asData()が返すdataからこのノードのパラメータ、オプション、内容を更新します。
data
The network item data that describes a network item as data.
Methods from hou.NetworkItem ¶
networkItemType()
→ hou.networkItemType
このオブジェクトで表現されたネットワークアイテムのタイプを示した列挙値を返します。
この値は、isinstanceビルトインPython関数でそれに一致したクラスを使用することと等価です(例えば、hou.networkItemType.Connectionはhou.NodeConnectionと等価です)。
Methods from hou.NetworkMovableItem ¶
name()
→ str
このノードの名前を返します。hou.NetworkMovableItem.pathも参照してください。
setName(name, unique_name=False)
このノードの名前を設定します。その新しい名前に英数字、.、-、_以外の文字が含まれている場合、hou.OperationFailedを引き起こします。
ノードの名前を変更できなかった場合(例えば、他のノードで同じ名前が既に使用されていたり、そのノードがルートノードまたはトップレベルマネージャ(例えば、/obj)だったり、そのノードがロックアセット内にある場合)は、hou.OperationFailedを引き起こします。
unique_nameパラメータをTrueに設定すると、指定した名前が既存ノードの名前と被らないように変更させることができます。
digitsInName()
→ int
ノードの名前の最後の桁の値を返します。 桁がなければ0を返します。
例えば、geo102ノードは102、light12to34ノードは34を返します。
path()
→ str
ネットワーク内のこのノードのフルパス(つまり、/から始まります)を返します。
relativePathTo(base_node)
→ str
他のノードオブジェクトを基準として、このノードの相対パスを返します。
>>> box1 = hou.node("/obj/box_object1/box1") >>> sphere1 = hou.node("/obj/sphere_object1/sphere1") >>> box1.relativePathTo(sphere1) '../../sphere_object1/sphere1' >>> hou.node("/obj").relativePathTo(box1) 'box_object1/box1' >>> box1.relativePathTo(box1) '.'
parent()
→ hou.Node
このアイテムを含んだノードを返します。
そのアイテムがルートノード(つまり、/)であれば、このメソッドはNoneを返すことに注意してください。
>>> hou.node("/obj/box_object1").parent() <hou.Node at /obj> >>> print hou.node("/").parent() None
parentNetworkBox()
→ hou.NetworkBox or None
このアイテムを含んだ親のネットワークボックスを返します。それがネットワークボックスに含まれていなければNoneを返します。
isPicked()
→ bool
hou.NetworkMovableItem.isSelectedをコールする事と等価です。
setSelected(on, clear_all_selected=False, show_asset_if_selected=False)
このアイテムを選択または選択解除します。オプションで、このネットワーク内で選択されているアイテム以外すべてを選択解除することができます。
show_asset_if_selectedがTrueで、このアイテムがNodeの場合、このペインは、代わりに選択したアイテムのトップレベルのアセットを表示します。
setPicked(on)
すべてのオプションのパラメータのデフォルト値でhou.NetworkMovableItem.setSelectedをコールする事と等価です。
setColor(color)
指定したhou.Colorで、ネットワークエディタ内のこのアイテムのタイルのカラーを設定します。
sessionId()
指定したHoudiniセッション内でこのアイテムを固有に識別するための整数値を返します。
このIDは、単一Houdiniプロセス内でのみ固有であることが保証されます。
このIDは、アイテムの保存、復元、参照をするのが簡単になるので便利です。
また、このIDは特定のアイテムサブクラスに対しても固有です。
そのため、NetworkBoxと同じセッションIDを持つNodeが存在することがあります。
セッションIDからノードを取得するにはhou.nodeBySessionId()を、セッションIDからネットワークボックスを取得するにはhou.networkBoxBySessionId()を、 もっと汎用的にセッションIDとアイテムサブクラスを示した列挙値を組み合わせてそのタイプのアイテムを取得するにはhou.itemBySessionId()を参照してください。
position()
→ hou.Vector2
ネットワークエディタグラフ内のこのアイテムのタイルの位置をVector2として返します。
move()とsetPosition()も参照してください。
setPosition(vector2)
ネットワークエディタグラフ内のこのアイテムのタイルの位置を設定します。 アイテムの位置を動かせなかった場合は、hou.InvalidInputを引き起こします。
move(vector2)
ネットワークエディタグラフ内のこのアイテムのタイルを、指定したhou.Vector2の分だけ動かします。
アイテムを絶対位置で動かすには、setPosition()を使用します。
アイテムの現行グラフ位置を取得するには、position()を使用します。
指定した位置にアイテムを動かせなかった場合は、hou.InvalidInputを引き起こします。
shiftPosition(vector2)
hou.NetworkMovableItem.moveをコールする事と等価です。
size()
→ hou.Vector2
ネットワークエディタグラフ内のこのアイテムのタイルのサイズをVector2として返します。
Methods from hou.IndirectInput ¶
outputConnections()
→ tuple
of hou.NodeConnection
このオブジェクトの出力からノードまでの各コネクションを表現したオブジェクトのタプルを返します。 このメソッドが返すオブジェクトを使って、このオブジェクトに接続されているノードを調べることはできませんが、どの入力に繋がっているのかを調べることができます。
input()
→ hou.Node
この間接入力の入力側のノードを返します。この入力が他の間接入力を経由している場合は、この関数は、ノードが見つかるまでその間接入力を遡ります。
ノードが間接的にでさえも接続されていない場合、Noneが返されます。
返されるノードは、このメソッドがhou.SubnetIndirectInputよりも上の階層に再帰すると、このオブジェクトと同じ親ネットワーク内でなくなります。
inputOutputIndex()
→ int
このオブジェクトの入力側の接続先のノードの出力コネクションのインデックスを返します。
input関数と同様に、ノードが見つかるまで間接入力遡ります。
ノードが間接的にでさえも接続されていない場合、0が返されます。
inputItem()
→ hou.NetworkMovableItem
この間接入力の入力側に直接接続されているアイテムを返します。
これは、ノードや間接入力が返され、何も接続されていなければNoneを返します。
返されるアイテムは、このオブジェクトがhou.SubnetIndirectInputであれば、それと同じ親ネットワーク内でなくなります。
inputItemOutputIndex()
→ int
このオブジェクトの入力側に直接接続されているネットワークアイテムの出力コネクションのインデックスを返します。
何も接続されていなければ0を返します。hou.Nodeがこのオブジェクトに接続されていれば、他のネットワークアイテムすべてが1個の出力コネクタしか持たないので、この値はゼロの値にはなりません。
setColorDefault()
このオブジェクトのカラーを間接入力のデフォルトに設定します。
明示的にデフォルトカラーに設定することで、今後のデフォルトの間接入力カラーの変更によって、このオブジェクトはその新しいカラーを使用するようになります。
このメソッドは、symbolicColorName設定とuseColorFromOutput設定をクリアします。
setSymbolicColorName(name)
このオブジェクトのカラーを現在のHoudiniカラースキームで定義されているシンボリックカラー名を使用するように設定します(hou.ui.colorByNameを参照)。
このシンボリックカラー名は、そのカラースキームの変更によって、このオブジェクトに新しいカラーが使用されるようにhipファイルに保存されます。
このメソッドは、useColorFromDefault設定をクリアして、そのcolor値を無視するようにします。
setUseColorFromOutput(use_output_color)
この間接入力をこのオブジェクトの出力として接続された1番目の入力コネクタと同じカラーで表示するように設定します。
Falseに設定すると、このオブジェクトは、hou.NetworkMovableItem.setColorメソッドで返されるカラーで表示されます。
このメソッドは、symbolicColorName設定をクリアして、そのcolor値を無視するようにします。
symbolicColorName()
→ str
setSymbolicColorNameメソッドを使って設定されたこのオブジェクトの表示に使用されているシンボリックカラー名を返します。
このオブジェクトのカラーがsetUseColorFromOutputまたはhou.NetworkMovableItem.setColorのメソッドを使って設定されていた場合は、空っぽの文字列が返されます。
そのシンボリックカラー名は、hou.ui.colorFromNameを使ってhou.Colorに変換することができます。
useColorFromOutput()
→ bool
このオブジェクトの1番目の入力のカラーに基づいてそのオブジェクトが表示される場合はTrueを返します。
hou.NetworkMovableItem.colorメソッドで返されるカラーを使ってこのオブジェクトが表示される場合はFalseを返します。