Inheritance |
|
整数パラメータもメニューパラメータにすることができます。 メニュー付きの整数パラメータは、概念的にはhou.MenuParmTemplateから派生したパラメータと同じです。
メソッド ¶
__init__(name, label, num_components, default_value=(), min=0, max=10, min_is_strict=False, max_is_strict=False, look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW, menu_items=(), menu_labels=(), icon_names=(), item_generator_script=None, item_generator_script_language=None, menu_type=hou.menuType.Normal, disable_when=None, is_hidden=False, is_label_hidden=False, join_with_next=False, help=None, script_callback=None, script_callback_language=hou.scriptLanguage.Hscript, tags={}, default_expression=(), default_expression_language=())
新しいIntParmTemplateを構築します。
name
詳細は、hou.ParmTemplate.nameを参照してください。
label
詳細は、hou.ParmTemplate.labelを参照してください。
num_components
詳細は、hou.ParmTemplate.numComponentsを参照してください。
default_value
詳細は、defaultValueメソッドを参照してください。
min
詳細は、minValueメソッドを参照してください。
max
詳細は、maxValueメソッドを参照してください。
min_is_strict
詳細は、minIsStrictメソッドを参照してください。
max_is_strict
詳細は、maxIsStrictメソッドを参照してください。
look
詳細は、hou.ParmTemplate.lookを参照してください。
naming_scheme
詳細は、hou.ParmTemplate.namingSchemeを参照してください。
icon_names
詳細は、iconNamesメソッドを参照してください。
このパラメータが空っぽのタプルなら、メニューにはアイコンが含まれません。
item_generator_script
詳細は、itemGeneratorScriptメソッドを参照してください。
スクリプトを指定するなら、num_components
は1
でなければなりません。
item_generator_script_language
詳細は、itemGeneratorScriptLanguageメソッドを参照してください。
このパラメータがNone
の場合は、hou.scriptLanguage.Pythonがデフォルトになります。
disable_when
詳細は、hou.ParmTemplate.disableWhenを参照してください。
join_with_next
詳細は、hou.ParmTemplate.joinsWithNextを参照してください。
help
詳細は、hou.ParmTemplate.helpを参照してください。
script_callback
詳細は、hou.ParmTemplate.scriptCallbackを参照してください。
script_callback_language
詳細は、hou.ParmTemplate.scriptCallbackLanguageを参照してください。
default_expression
詳細は、defaultExpressionメソッドを参照してください。
default_expression_language
詳細は、defaultExpressionLanguageメソッドを参照してください。
defaultValue()
→ tuple of int
新しいパラメータインスタンスのデフォルト値を返します。
例えば、このparmテンプレートの名前が“divisions”で、命名スキームがXYZWで、3つのコンポーネントを持ち、デフォルト値が(10, 20, 30)と仮定します。 あるノード上のそれに相当するparmタプルインスタンスの名前は“divisions”で、“divisionsx”, “divisionsy”, “divisionsz”のパラメータを持つことになります。 ノードが作成されると、“divisionsx”が10、“divisionsy”が20、“divisionsz”が30になります。
setDefaultValue(tuple_of_default_values)
新しいパラメータインスタンスのデフォルト値をintシーケンスに設定します。
詳細は、defaultValue
メソッドを参照してください。
intシーケンス内のintの数がparmテンプレート内のコンポーネントの数と異なる場合、その余計な値が破棄され、足りない値はゼロになります。
defaultExpression()
→ tuple of strings
新しいパラメータインスタンスのデフォルトエクスプレッションを返します。
デフォルトエクスプレッションはデフォルト値よりも優先度が高いです。 コンポーネントにデフォルトエクスプレッションがない(つまり、空っぽの文字列)場合は、デフォルト値が新しいパラメータインスタンスに使用されます。
デフォルトエクスプレッションの意味を解釈するには、デフォルトエクスプレッション言語が必要になることを覚えておいてください。
例えば、このparmテンプレートの名前が“divisions”で、その命名スキームがXYZWで、3つのコンポーネントを持ち、デフォルト値が(10, 20, 30)、デフォルトエクスプレッションが(“$F”, “hou.frame()”, “”)、
デフォルトエクスプレッション言語が(hou.scriptLanguage.Hscript
, hou.scriptLanguage.Python
, hou.scriptLanguage.Hscript
)と仮定します。
あるノード上のそれに相当するparmタプルインスタンスの名前は“divisions”で、“divisionsx”, “divisionsy”, “divisionsz”のパラメータを持つことになります。
ノードが作成されると、“divisionsx”には“$F”のデフォルトHScriptエクスプレッションが、“divisionsy”には“hou.frame()”のデフォルトPythonエクスプレッションが、
“divisionsz”には30のデフォルト値が入ります。
setDefaultExpression(tuple_of_default_expressions)
新しいパラメータインスタンスのデフォルトエクスプレッションを文字列シーケンスに設定します。
詳細は、hou.IntParmTemplate.defaultExpressionメソッドを参照してください。 文字列シーケンス内の文字列の数がparmテンプレート内のコンポーネントの数と異なる場合、その余計な値が破棄され、足りない値は空っぽの文字列になります。
defaultExpressionLanguage()
→ tuple of hou.scriptLanguage
新しいパラメータインスタンスのデフォルトエクスプレッション言語を返します。
デフォルトエクスプレッション言語は、デフォルトエクスプレッションが設定されている場合のみ適用されます。 コンポーネントにデフォルトエクスプレッションが設定されていない場合、そのエクスプレッション言語はhou.scriptLanguage.Hscriptに設定されます。
setDefaultExpressionLanguage(tuple_of_default_expression_languages)
新しいパラメータインスタンスのデフォルトエクスプレッション言語を、hou.scriptLanguage値のシーケンスに設定します。
詳細は、defaultExpressionLanguage
メソッドを参照してください。
そのシーケンス内のhou.scriptLanguage値の数がparmテンプレート内のコンポーネントの数と異なる場合、その余計な値が破棄され、足りないエクスプレッション言語はhou.scriptLanguage.Hscriptになります。
setMinValue(min_value)
パラメータの最小値を設定します。
詳細は、minValue
メソッドを参照してください。
setMaxValue(max_value)
パラメータの最大値を設定します。
詳細は、maxValue
メソッドを参照してください。
minIsStrict()
→ bool
最小値が厳格に強制されているかどうか返します。
最小値が厳格に強制されていない場合、スライダからは値を最小値よりも下に変更することができなくても、 タイピングでそれよりも下の値に設定することができたり、hou.Parm.setValueやバリューラダーハンドルから変更することができます。
最小値が厳格に強制されている場合、どの仕組みを使用して値を最小値よりも下に変更しようとしても、 Houdiniは、その値を最小値に設定します。
minValueメソッドも参照してください。
setMinIsStrict(on)
最小値を厳格に強制させるかどうか設定します。
詳細は、minIsStrict
メソッドを参照してください。
setMaxIsStrict(on)
最大値を厳格に強制させるかどうか設定します。
詳細は、maxIsStrict
メソッドを参照してください。
setMenuItems(menu_items)
内部メニュー名を、指定した文字列シーケンスに設定します。
詳細は、menuItemsメソッドを参照してください。
新しいメニューアイテムの数が古いメニューアイテムの数よりも少ない場合は、そのメニューラベルが短くなり、デフォルト値が範囲外なら変更されます。
setMenuLabels(menu_labels)
UIに表示されるメニューラベルに、指定した文字列シーケンスを設定します。
メニューラベルの数がメニューアイテムの数より少ない場合、Houdiniは、その足りないラベルに対して内部メニューアイテム名を使用します。 メニューラベルの数がメニューアイテムの数より多い場合、Houdiniはその余分なラベルを破棄します。
メニューアイテムとメニューラベルの両方を変更したいのであれば、まず最初にメニューアイテムを変更してください。
iconNames()
→ tuple
of str
メニューアイテムに相当するアイコンのタプルを返します。 アイコンがなければ、空っぽの文字列のタプルを返します。
これらのアイコンは、このparmテンプレートがメニューを使用する時に使用されます。
setIconNames(icon_names)
アイコン名を、指定した文字列シーケンスに設定します。
itemGeneratorScript()
→ str
メニューアイテムの生成に使用されるスクリプトを返し、そのようなスクリプトがなければ空っぽの文字列を返します。
このスクリプトは、このparmテンプレートがメニューを使用する時に使用されます。
アイテム生成スクリプト言語がhou.scriptLanguage.Pythonなら、 このスクリプトは、単一行のPythonエクスプレッションか、Python関数の複数行ボディのどちらかです。
setItemGeneratorScript(item_generator_script)
メニューアイテムの生成に使用するスクリプトを設定します。
詳細は、itemGeneratorScript
メソッドを参照してください。
itemGeneratorScriptLanguage()
→ hou.scriptLanguage列挙値
メニューアイテムの生成に使用されるスクリプトを返し、そのようなスクリプトがなければ空っぽの文字列を返します。
setItemGeneratorScriptLanguage(language)
メニューアイテムの生成に使用するスクリプト言語をhou.scriptLanguage列挙値に設定します。
詳細は、itemGeneratorScriptLanguage
メソッドを参照してください。
setMenuType(menu_type)
メニューのタイプをhou.menuType列挙値に設定します。
詳細は、menuType
メソッドを参照してください。
setMenuUseToken(on)
インデックスの代わりにトークン値をパラメータに設定します。
menuUseToken
メソッドも参照してください。
Methods from hou.ParmTemplate ¶
clone()
→ hou.ParmTemplate
このparmテンプレートのコピーを返します。
このメソッドは、ParmTemplateサブクラスのインスタンスに対してコールすることができ、そのサブクラスのインスタンスが適切に返されます。
name()
→ string
parmテンプレートの内部名を返します。 これは、このparmテンプレートから作成されたhou.ParmTupleオブジェクトが持つ名前です。
マルチパラメータブロック内のhou.ParmTemplateオブジェクトの名前の最後には“#”が付きます。 この“#”は、hou.ParmTupleオブジェクトがインスタンス化された際にそのマルチパラメータインスタンス番号に置換されます。
このParmTemplateから基づいたParmTuples内のhou.Parmオブジェクトの名前は、この名前、このparmテンプレート内のコンポーネントの数、命名スキームで決定されます。 詳細は、namingSchemeメソッドを参照してください。
setName(name)
このparmテンプレートの内部名を変更します。 ParmTemplatesは単にデータを保存するだけなので、その名前変更は、このparmテンプレートを後でHoudiniでのパラメータレイアウトの修正に使用しない限りは、 何の効果もないことに注意してください。
マルチパラメータブロック内のパラメータの名前の最後には必ず“#”が付いてなければなりません。 この“#”はマルチパラメータのインスタンス番号に置換されます。
label()
→ string
パラメータペインで表示されるパラメータタプルの名前を返します。
setLabel(label)
パラメータペインで表示されるラベルの名前を変更します。
type()
→ hou.parmTemplateType列挙値
このパラメータのタイプを識別する列挙値を返します。
ParmTemplateオブジェクトは常にこのクラスのサブクラスのインスタンスであることを覚えておいてください。 以下のテーブルは、hou.parmTemplateType列挙値とParmTemplateサブクラス間のマップを示しています:
Enumerated Value
ParmTemplate Subclass
dataType()
→ hou.parmData列挙値
このParmTemplateに相当するhou.ParmTupleインスタンス内のhou.Parmインスタンスに保存されたデータタイプを返します。
例えば、このparmタプルが3つのコンポーネントを持つhou.FloatParmTemplateと仮定します。 それに相当するhou.ParmTupleは、その中に3つのhou.Parmオブジェクトを持ち、各オブジェクトが浮動小数点値を保存します。 このサンプルでは、このメソッドがhou.parmData.Floatを返します。
numComponents()
→ int
このParmTemplateのhou.ParmTupleインスタンス内に保存された値の数を返します。
例えば、このparmテンプレートが3つのコンポーネントを持っていれば、パラメータペインでは3つのパラメータフィールドが表示され、 このparmテンプレートから基づいたhou.ParmTuple内に3つのhou.Parmオブジェクトができます。
setNumComponents(num_components)
→ int
このParmTemplateのhou.ParmTupleインスタンス内に保存される値の数を設定します。
いくつかのParmTemplateサブクラスは1コンポーネントだけをサポートしているので、 このメソッドを1以外の値でコールすると、hou.OperationFailed例外を引き起こします。 また、コンポーネントの数を変更すると、いくつかのParmTemplateサブクラスではデフォルト値のタプルのサイズが自動的に変わります。
namingScheme()
→ hou.parmNamingScheme列挙値
このParmTemplateのparmタプル内のパラメータの命名に使用された命名スキームを返します。
例えば、命名スキームがhou.parmNamingScheme.XYZWで、そのparmテンプレートの名前が
"foo"
で、3つのコンポーネントを持っていれば、それらのパラメータの名前は、"foox"
, "fooy"
, "fooz"
になります。
一方で、命名スキームがhou.parmNamingScheme.Base1だった場合は、それらのパラメータの名前は、
"foo1"
, "foo2"
, "foo3"
になります。
parmテンプレートが1個のコンポーネントしか持っていない時は、そのparm名はparmタプル名と同じです。
詳細は、hou.parmNamingSchemeを参照してください。
setNamingScheme(naming_scheme)
このParmTemplateのparmタプル内のパラメータの命名に使用する命名スキームを、hou.parmNamingScheme列挙値に設定します。
詳細は、namingScheme
メソッドを参照してください。
look()
→ hou.parmLook列挙値
パラメータペイン内のこのパラメータのルックを返します。例えば、3つのfloatのタプルは、3DベクトルまたはRGBカラーとして表示することができます。
詳細は、hou.parmLookを参照してください。
setLook(look)
このパラメータのルックをhou.parmLook列挙値に設定します。
詳細は、look
メソッドを参照してください。
help()
→ str
パラメータペイン内のパラメータラベル上にカーソルを置いた時にHoudiniが表示するヘルプを返します。
setHelp(help)
パラメータペイン内のパラメータラベル上にカーソルを置いた時にHoudiniが表示するヘルプを設定します。
isHidden()
→ bool
このパラメータをパラメータペイン内で非表示にされているかどうか返します。
hide(on)
このパラメータをパラメータペイン内で可視または不可視としてマークします。
非表示パラメータは今でも存在し、それを評価したり、チャンネル参照などもできることに注意してください。 非表示パラメータは単にパラメータペインで表示されないだけです。
isLabelHidden()
→ bool
このパラメータのラベルがパラメータペイン内で非表示にされているかどうか返します。
hideLabel(on)
このパラメータのラベルをパラメータペイン内で非表示または表示します。
joinsWithNext()
→ bool
このパラメータがパラメータペイン内で次のパラメータと同じ行に表示されているかどうか返します。
joinWithNext()
→ bool
このメソッドは廃止され、代わりにjoinsWithNextメソッドを使用してください。
setJoinWithNext(on)
このパラメータがパラメータペイン内で次のパラメータと同じ行に表示させるかどうか設定します。
disableWhen()
→ str
このメソッドは廃止され、代わりにconditionalsメソッドを使用してください。
setDisableWhen(disable_when)
このメソッドは廃止され、代わりにsetConditionalメソッドを使用してください。
conditionals()
→ dict
of hou.parmCondType enum value to string
現在このパラメータに影響を与えている条件のセットを返します。
この文字列に対する詳細は、Operator Type PropertiesウィンドウのヘルプのConditionalsセクションを参照してください。
setConditional(type, conditional)
このパラメータに対して指定したhou.parmCondTypeタイプの条件文字列を設定します。 この文字列は、他のパラメータが変わった時のこのパラメータの表示の挙動に関するルールを構成します。
この文字列に対する詳細は、Operator Type PropertiesウィンドウのヘルプのConditionalsセクションを参照してください。
tags() -> dict of string to string
parmテンプレートに保存された追加データの辞書を返します。
Houdiniは、この辞書を使用して、任意のデータをparmテンプレートに追加します。 この辞書内のキーは、ParmTemplateタイプとその使い方に応じて変わります。
scriptCallback()
→ str
このパラメータが変わった時にHoudiniが実行するスクリプトの内容を返します。 このスクリプトは、押しているボタンに反応するためのhou.ButtonParmTemplateオブジェクトで一番よく使用します。
Houdiniはtag辞書を使用してスクリプトコールバックの情報を保存します。
setScriptCallback(script_callback)
コールバックスプリプトを指定した文字列に設定します。このスクリプトは、パラメータの変化に反応して実行されます。
詳細は、scriptCallbackメソッドを参照してください。
scriptCallbackLanguage()
→ hou.scriptLanguage列挙値
このパラメータが変わった時にHoudiniが実行するスクリプトの言語を返します。
Houdiniはtag辞書を使用して、スクリプトコールバック情報を保存します。
scriptCallbackメソッドも参照してください。
setScriptCallbackLanguage(script_callback_language)
スクリプトコールバック言語をhou.scriptLanguage列挙値に設定します。
詳細は、scriptCallbackLanguageメソッドを参照してください。
setTags(tags)
このparmテンプレートに保存される追加データの辞書を設定します。
詳細は、tagsメソッドを参照してください。
asCode(function_name=None, variable_name=None)
→ str
パラメータテンプレートの再作成を実行するPythonステートメントを含んだ文字列を返します。
この文字列を実行するには、Pythonのcompile
,execfile
の関数またはexec
ステートメントを使用します。
function_name
function_nameを指定すると、その返されたコードは、指定した名前のPython関数を作成します。 function_nameは英数字とアンダースコアだけで構成されたゼロ長ではない文字列でなければなりません。 無効な文字は内部的にアンダースコアに変換されます。
この関数は、新しく作成されたパラメータテンプレートオブジェクトの参照を返します。
variable_name
結果のコードの割り当て先となるPython変数の名前。
None
の場合、Houdiniは"hou_parm_template"
という名前の変数を使用します。
以下は、出力をファイルに保存して、それをHoudiniに読み込むサンプルです:
# ターゲットパラメータテンプレートの参照を取得します。 node = hou.node("/obj/geo1") parm_template = node.parm("tx").parmTemplate() # asCodeを実行し、その出力スクリプトをファイルに書き出します。 code = parm_template.asCode() source_file = open("create_parm_template.py", "w") source_file.write(code) source_file.close() # スクリプトを実行します。新しいパラメータテンプレートは、'hou_parm_template'変数に保存されます。 execfile("create_parm_template.py") # 保存されたパラメータテンプレートを使用して、Spareパラメータをノードに追加します。 node.addSpareParmTuple(hou_parm_template)
以下は、出力をファイル内の関数に保存して、それをHoudiniからコールするサンプルです:
# ターゲットパラメータテンプレートの参照を取得します。 node = hou.node("/obj/geo1") parm_template = node.parm("tx").parmTemplate() # asCodeを実行して、その関数定義をファイルに書き出します。 code = parm_template.asCode(function_name="createParmTemplate") source_file = open("parmtemplatelib.py", "w") source_file.write(code) source_file.close() # 関数定義をコールします。 import parmtemplatelib hou_parm_template = parmtemplatelib.createParmTemplate() # 保存されたパラメータテンプレートを使用して、Spareパラメータをノードに追加します。 node.addSpareParmTuple(hou_parm_template)