プリミティブグループはジオメトリ内で存在し、各プリミティブグループの名前は固有です。
グループには順番通りのものとそうでないものがあります。
順番通りのグループの内容を問い合わせると、その結果は、グループに追加された順番で返されます。
そうでないグループに関しては、その結果は任意の順番(とはいえ、通常ではプリミティブ番号の昇順)で返されます。
Group SOPを使用してグループを作成する時は、Create Orderedチェックボックスを有効にすることで、順番通りのグループが作成されます。
Pythonからグループを作成する時は、hou.Geometry.createPrimGroupのis_ordered
パラメータを使用することで、グループを順番通りにするかどうかを制御することができます。
プリミティブに関する詳細は、hou.Primを参照してください。 また、hou.PointGroup、hou.VertexGroup、hou.EdgeGroupも参照してください。
メソッド ¶
name()
グループの名前を返します。各プリミティブグループの名前は固有です。
iterPrims()
→ generator of hou.Prim
このグループ内のすべての内容をループするジェネレータを返します。
hou.PrimGroup.primsは、グループ内のすべてのプリミティブをタプルに割り当てて、そのタプルを返すのに対して、 このメソッドは、要求に応じてhou.Primオブジェクトをyieldするジェネレータオブジェクトを返します。
contains(prim)
→ bool
このグループのプリミティブかどうか返します。
プリミティブが、このグループではなく別のジオメトリオブジェクトに属している場合、hou.OperationFailedを引き起こします。
primCount()
→ int
このグループ内のプリミティブの数を返します。
isOrdered()
→ bool
このグループに順番が決められているかどうかを返します。
add(prim_or_list_or_prim_group)
hou.Primまたはhou.Primのリストを指定すると、そのプリミティブがグループに追加されます。 hou.PrimGroupを指定すると、他のプリミティブグループの内容がこのグループに結合されます(他のグループは影響を受けません)。 通常では、Python定義のSOPのコードからこのメソッドをコールします。
グループに既に入っているプリミティブをグループに追加しても構いません。
このジオメトリが修正不可なら、hou.GeometryPermissionErrorを引き起こします。
プリミティブまたはプリミティブグループが、このグループではなく別のジオメトリオブジェクトに属している場合、hou.OperationFailedを引き起こします。
remove(prim_or_list_or_prim_group)
hou.Primまたはhou.Primのリストを指定すると、そのプリミティブがグループから削除されます。 hou.PrimGroupを指定すると、このグループから、他のグループのプリミティブすべてを削除します(他のグループは影響を受けません)。 通常では、Python定義のSOPのコードからこのメソッドをコールします。
グループから、そのグループにまだ入っていないプリミティブの削除をしてもエラーにはなりません。
このジオメトリが修正不可なら、hou.GeometryPermissionErrorを引き起こします。
プリミティブが、このグループではなく別のジオメトリオブジェクトに属している場合、hou.OperationFailedを引き起こします。
clear()
このグループからプリミティブすべてを削除します。通常では、Python定義のSOPのコードからこのメソッドをコールします。
プリミティブはジオメトリ内に残ります。グループのみが影響を受けます。
このジオメトリが修正不可なら、hou.GeometryPermissionErrorを引き起こします。
destroy()
ジオメトリからこのグループを削除します。通常では、Python定義のSOPのコードからこのメソッドをコールします。
このジオメトリが修正不可なら、hou.GeometryPermissionErrorを引き起こします。
options()
→ dict
of str
to bool
, int
, float
, str
このプリミティブグループに追加されているオプションを含んだ辞書を返します。
この辞書の内容は、ジオメトリファイルに保存されます。
hou.PrimGroup.option, hou.PrimGroup.setOption, hou.PrimGroup.removeOptionも参照してください。
option(name)
→ bool
, int
, float
, str
, hou.Vector2, hou.Vector3, hou.Vector4, hou.Quaternion, hou.Matrix3, hou.Matrix4, tuple of int
, or tuple of float
個々のオプションの値を返し、そのようなオプションがなければNone
を返します。
hou.PrimGroup.options, hou.PrimGroup.setOption, hou.PrimGroup.removeOptionも参照してください。
optionType(name)
→ hou.fieldType列挙値
オプションに保存されたデータのタイプを記述したhou.fieldType列挙値を返します。
その名前のフィールドがなければhou.fieldType.NoSuchField
を返します。
setOption(name, value, type_hint = hou.fieldType::NoSuchField)
オプションの辞書にエントリーを設定します。詳細は、hou.PrimGroup.optionsを参照してください。
name
設定するオプションの名前。
value
整数, 浮動小数点, 文字列, hou.Vector2, hou.Vector3, hou.Vector4, hou.Quaternion, hou.Matrix3, hou.Matrix4, 数値シーケンス。
type_hint
指定した値のタイプが、タイプを明確に決めるのに十分でなかった時に、正確にhou.fieldTypeを決定するために使用されます。
removeOption(name)
オプションの辞書からエントリーを削除します。詳細は、hou.PrimGroup.optionsを参照してください。
この名前の辞書にエントリーがなかった場合、hou.OperationFailedを引き起こします。
dataId()
このグループの内容を表現したデータIDを返します。
incrementDataId()
このグループの内容が変わったことを示すためにデータIDを上げます。