Inheritance |
|
このオブジェクトを直接インスタンス化することはできません。代わりに、hou.shelves.newToolをコールしてください。
メソッド ¶
一般 ¶
destroy()
Houdiniセッションからこのツールを削除し、このツールを保存しているファイルからその定義を除去します。
setData(script='', language=hou.scriptLanguage.Python, icon='', help='', help_url='', network_categories=(), viewer_categories=(), cop_viewer_categories=(), network_op_type='', viewer_op_type='', locations=())
複数のオプションをset
メソッドで何回もコールすることなく一度に設定できる便利なメソッド。
オプションのキーワード引数に基づいて、色々なオプションを設定します。
# ツールを取得します。 t = shelves.tool("geometry_sphere") # ツールのアイコンとヘルプのURLを設定します。 t.setData(icon="SOP_sphere", help_url="tool:sphere")
ヘルプとアイコン ¶
setHelp(help)
ツールのヘルプテキストを設定します。 ユーザがこのツールのヘルプを要求した時に、Houdiniは、このテキストをwikiテキストとして解読し、それをヘルプビューアに表示します。 代わりにヘルプビューアがURLにアクセスさせるには、setHelpURLを使用します。
help()
→ str
ツールのヘルプテキストを返します。
setHelpURL(help_url)
ユーザがこのツールのヘルプを要求した時にヘルプビューアがアクセスするURLを設定します。
これが空っぽでない時、Hoduiniは、Tool.help()
の内容の解読と表示をせずに、このURLをヘルプビューアで開きます。
helpURL()
→ str
このツールのヘルプを指すURLを返します。
setIcon(icon)
このツールに対して新しいアイコン文字列を設定します。
この文字列には、SVGファイルまたはHoudiniで読み込める画像ファイルのファイルパスまたはURLを含めることができます。
opdef:
パスを使用すれば、アセット内のアイコンファイルを参照することができます。
icon()
→ str
ツールのアイコン文字列を返します。
keywords()
→ Sequence[str]
このツールに関連付けられているキーワードを返します。
setKeywords()
を使用することで、このツールに対してキーワードを設定することができます。
現在のところ、このキーワードはHoudiniで使用されていませんが、ユーザ/スタジオツールのスクリプトで役に立ちます。
setKeywords(keywords: Sequence[str])
この引数は、このツールのキーワードを示した文字列のリストまたはタプルです。 この引数に文字列を渡すと、Pythonがその文字列を1文字キーワードのリストとして解釈してしまうので、文字列を渡さないように注意してください。 Houdiniはキーワードの重複を回避しようとしません。
これらの文字列は、ツール編集ウィンドウの Keywords フィールドに呼応します。 内部的には、これらのキーワードは文字列のリストとして格納されています。 しかし、ユーザがそのUIで Keyword フィールドを編集すると、Houdiniは、そのテキストをカンマで区切ってキーワードのリストを取得します。 つまり、このメソッドを使用して、カンマを含んだキーワードを指定すると、おかしな結果を取得してしまいます。 ユーザがそのUIでキーワードを編集するまでは、そのカンマは保持され、その後、キーワード内のカンマは区切り文字として再解釈され、キーワードのリストが変更されます。
スクリプト ¶
setScript(script)
ユーザがシェルフ内のツールをクリックした時に実行するスクリプトのテキストを設定します。 スクリプトで利用可能なグローバル変数と一般的なタスクのTipsに関する情報は、ツールスクリプトを記述する方法を参照してください。
script()
→ str
ユーザがツールをクリックした時に実行するスクリプトのテキストを返します。
setLanguage(language)
スクリプトに対して新しい言語を設定します。languageはhou.scriptLanguageモジュールの値です(通常はhou.scriptLanguage.Python
)。
t = shelves.tool("tool_1") t.setLanguage(hou.scriptLanguage.Hscript) t.setScript("message hello")
Note
HScriptよりもPythonでスクリプトを記述することを 強く 推奨します。
language()
→ hou.scriptLanguage列挙値
ツールスクリプトを記述した言語を意味した値を返します。
>>> t = shelves.tool("geometry_sphere") >>> t.language() == hou.scriptLanguage.Python True
カテゴリ化 ¶
setToolLocations(locations)
ツールを表示するUI内の場所を設定します。 例えば、ツールをネットワークペインのTABメニューに含め、ビューポートペインのTABメニューに含めないように設定することができます。
setToolMenuCategories(pane_type, categories)
ツールカテゴリを設定します。このカテゴリは、ツールの可視性を細かく制御するために使用します。 例えば、いくつかのツールでは“Mantra”や“RenderMan”をキーワードとして指定されており、指定したレンダラーがPreferencesペインでアクティブに設定されている場合にのみ、 それらのツールがTABメニューに表示されます。
setToolMenuOpType(pane_type, op_type)
このツールに関係したオペレータタイプを設定します。そのオペレータが作成可能な場合にのみ、そのツールがTABメニューに表示されます。 例えば、いくつかのオペレータタイプは、特定の親にのみスコープされるので、このタイプのノードを作成するツールは、その親の中でのみ意味を成します。
toolMenuCategories(pane_type)
→ tuple of hou.NodeTypeCategory
このツールで指定されたカテゴリを返します。
toolMenuLocations()
→ tuple of str
このツールが含まれたTABメニューのサブメニューを返します。
toolMenuOpType(pane_type)
→ str
このツールに関係したオペレータタイプを返します。
Methods from hou.ShelfElement ¶
setFilePath(file_path)
このオブジェクトの定義の保存先のパス文字列を設定します。
filePath()
→ str
このオブジェクトの定義を含んだファイルを返します。
fileLocation()
→ str
人が解読できる書式でファイルロケーションの表現を返します。 例えば、ディスクファイルだとファイルパスが返され、エレメントがHDAツールセクション内に格納されていればそのHDAに関する情報が返されます。
setName(name)
このオブジェクトの内部名を設定します。スクリプトでは、これを使ってオブジェクトを参照します。
この名前は、Houdiniノードの命名規則と同じです。 つまり、数字から始めてはいけません。名前に含めることができるのは、英数字とアンダースコアのみです。
例えば、Toolオブジェクト名がfoo
であれば、以下のコードによって、それを参照することができます:
footool = shelves.tool("foo")
name()
→ str
このオブジェクトの内部名を返します。
複数のオブジェクトに同じ名前を持たせることができます(例えば、2つの異なるアセットのどちらにも同じhammer
ツールを用意することができます)が、
Houdiniセッション内では、同時にどちらかしか有効になりません。
setLabel(label)
人が解読可能なオブジェクトのラベルを設定します。このラベルは、UIに表示されます。
label()
→ str
人が解読可能なオブジェクトのラベルを返します。
setReadOnly(on)
# ツールの参照を取得します。 t = hou.shelves.tool("geometry_sphere") # ツールを変更不可にします。 t.setReadOnly(True) # ツールを変更可能にします。 t.setReadOnly(False)
isReadOnly()
→ bool
エレメントが読み取り専用(編集不可)であれば、True
を返します。