PDGのプロセッサ
Generate
PDG のジョブ単位である WorkItem を作る。
for i in range(5):
new_item = item_holder.addWorkItem()
基本は、 item_holder.addWorkItem() でアイテムホルダーに対して WorkItem を追加する。 上の例だと 5 つの WorkItem を追加する。
for upstream_item in upstream_items:
new_item = item_holder.addWorkItem(parent=upstream_item)
上流の WorkItem と同じ量を追加したいなら、upstream_items で受け取れる WorkItem の配列を使用する。 parent 指定がされていれば、
このように、依存関係が作られる。
parent がなければ、同じ数作られても、依存は持たない。
for upstream_item in upstream_items:
for i in range(5):
new_item = item_holder.addWorkItem(parent=upstream_item)
このように複数にすれば、
同じ親を持つ WorkItem を生成できる。
attribute
WorkItem 1つがジョブの単位なので、実際に実行するジョブ(コマンドラインなど)で使用するパラメーターは Workitem に対して追加し、実際に実行するときにはこの Attribute を参照するようにする。
Generate したときの new_item は WorkItem オブジェクト。
https://www.sidefx.com/ja/docs/houdini/tops/pdg/WorkItem.html
for upstream_item in upstream_items:
for i in range(5):
new_item = item_holder.addWorkItem(parent=upstream_item)
new_item.addAttrib('subIndex',pdg.attribType.Int).setValue(i)
なので、addAttrib で Generate 時に指定もできる。