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()
このドットを削除します。このドットの入力と出力の接続は、このドットを削除してもそのネットワークの挙動がなにも変わらないように自動的に再構築されます。
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
を返します。