Inheritance |
|
このクラスは、汎用hou.NodeTypeクラスをHoudini OPノードタイプ用に特化させたものです。 このサブクラスは、デジタルアセットやインスタンスに関する情報とHoudiniのOPノードタイプ固有の登録情報を追加します。
デジタルアセットはノードタイプを定義することができます。 この場合では、そのアセットの定義内に含まれたノードがノードタイプのアルゴリズムを実装し、 Type Properties ダイアログを使用して、ノードタイプ内のパラメータをカスタマイズすることができます。
メソッド ¶
sectionData(section_name)
→ str
このノードタイプに該当するHDA定義の指定したセクション内に保存されているデータを返します。 HDA定義に指定したセクションが含まれていなかった場合、または、このノードタイプがデジタルアセットに該当しなかった場合は、空っぽの文字列を返します。
binarySectionData(section_name)
→ bytes
Python3でのみ利用可能です。
このノードタイプに該当するHDA定義の指定したセクション内に保存されているデータを含んだbytes
オブジェクトを返します。
これはバイナリデータを含んだセクションに適しています。
HDA定義に指定したセクションが含まれていなかった場合、または、このノードタイプがデジタルアセットに該当しなかった場合は、空っぽのbytes
オブジェクトを返します。
hasSectionData(section_name)
→ bool
このノードタイプが、指定したセクションを含んだHDA定義のデジタルアセットに該当すればTrueを返します。 そうでなければFalseを返します。
definition()
→ hou.HDADefinition
このノードタイプがデジタルアセットに一致すれば、hou.HDADefinitionを返します。そうでないなら、Noneを返します。
allInstalledDefinitions()
→ tuple
of hou.HDADefinition
インストールされているオペレータタイプライブラリすべてを検索して、このノードタイプの定義を備えた利用可能なhou.HDADefinitionオブジェクトのタプルを返します。
Houdiniは、それぞれ同じノードタイプの定義を含んだ複数のOTLファイルを同時に読み込むことができます。 使用中の定義は、現行定義と呼びます。 hou.HDADefinition.isCurrentも参照してください。
hdaModule()
→ hou.HDAModule
このノードタイプのHDAModuleオブジェクトを返します。そのタイプがデジタルアセットでなかった場合は、そのモジュールは空っぽです。 そうでないなら、そのモジュールには、デジタルアセットのユーザ定義の“PythonModule”セクション内の関数、定数、クラスなどが含まれます。
hou.Node.hdaModuleをショートカットとして使用することで、ノードインスタンスからHDAModuleにアクセスすることができます。
詳細は、hou.HDAModuleを参照してください。
hdaViewerStateModule()
→ hou.HDAViewerStateModule
このメソッドは、このノードタイプのhou.HDAViewerStateModuleのインスタンスを作成します。 このノードタイプがデジタルアセットでなかった場合は、空っぽのオブジェクトを返します。
hou.Node.hdaViewerStateModuleも参照してください。
hdaViewerHandleModule()
→ hou.HDAViewerHandleModule
このメソッドは、このノードタイプのhou.HDAViewerHandleModuleのインスタンスを作成します。 このノードタイプがデジタルアセットでなかった場合は、空っぽのオブジェクトを返します。
hou.Node.hdaViewerHandleModuleも参照してください。
source()
→ hou.nodeTypeSource列挙値
このノードタイプがVEX,RSL,HDK(C++)で実装されているかどうか、またはHoudiniに元から入っているビルトインのノードタイプかどうかを示したhou.nodeTypeSource列挙値を返します。
>>> obj_cat = hou.objNodeTypeCategory() >>> sop_cat = hou.sopNodeTypeCategory() >>> hou.nodeType(obj_cat, "biped_auto_rig").source() nodeTypeSource.Subnet >>> hou.nodeType(sop_cat, "mountain").source() nodeTypeSource.VexCode
sourcePath()
→ str
このノードタイプのソースのパスを返します。それがビルトインのノードタイプであれば、"Internal"
を返します。
このノードがHDKを使用して作成されていれば、そのノードタイプの共有オブジェクト/DLLのパスが返されます。
>>> obj_cat = hou.objNodeTypeCategory() >>> hou.nodeType(obj_cat, "biped_auto_rig").sourcePath() 'oplib:/Object/biped_auto_rig?Object/biped_auto_rig' >>> hou.nodeType(obj_cat, "geo").sourcePath() 'Internal'
sourceNetwork()
→ hou.Node or None
このノードタイプがデジタルアセットであれば、内容がデジタルアセットを定義したNodeインスタンスを返します。 そうでないなら、Noneを返します。
uninstallFromPath()
特定のファイルシステムインストールパスから、このノードとその参照を削除します。 例えば、このメソッドは、独自にインストールした古い形式の非OTLノードタイプのVEXファイル、アイコン、ダイアログスクリプト、ヘルプカードなどを削除します。
ビルトインのノードタイプにこのメソッドをコールしても何も効果はありません。
node_type.uninstallFromPath(hou.homeHoudiniDirectory())
aliases()
→ tuple
of str
このノードタイプのすべての現行エイリアスを返します。 サンプルは、hou.NodeType.addAliasを参照してください。
addAlias(alias)
このノードタイプのエイリアスを追加します。新しいノードを作成する時にこのエイリアスを使用することができます。
>>> geo_type = hou.nodeType(hou.objNodeTypeCategory(), "geo") >>> geo_type.addAlias("transformable") >>> geo_type.aliases() ('transformable',) >>> hou.node("/obj").createNode("transformable") <hou.ObjNode of type geo at /obj/geo1>
removeAlias(alias)
このノードタイプのエイリアスを削除します。
deprecated()
→ bool
このノードタイプが廃止予定としてマークされているかどうか返します。 hou.NodeType.deprecationInfoも参照してください。
deprecationInfo()
→ dict
of str
to str
or hou.NodeType
このノードタイプが廃止予定としてマークされていれば、このコールは、廃止予定情報を辞書として返します。
現在サポートされているキー:
'version'
このオペレータが廃止予定になったHoudiniのバージョン。その形式は、major.minorまたはmajor.minor.buildのどちらかです(例えば14.0または14.5.122)。 この項目は常に存在します。
'new_type'
このノードを置き換えた新しいノードタイプ。これを使用することで、自動的にノードを置換するシステムを作成することができます。
'reason'
これは、置き換える新しいノードがない場合に、その廃止予定の理由をリストします。
Methods from hou.NodeType ¶
name()
→ str
このノードタイプの名前を返します。例えば、ジオメトリオブジェクトタイプに関しては、その名前は“geo”です。 その名前とそのノードタイプカテゴリを一緒に使用することで、ノードタイプを固有に識別します。
nameComponents()
→ tuple
of str
フルノードタイプ名を構成したノードタイプ名コンポーネントのタプルを返します。 そのタプル内のコンポーネントは、次の順番になっています: スコープネットワークタイプ、ノードタイプネームスペース、ノードタイプコア名、バージョン。
# フル名からコンポーネントに分解します >>> node_type = hou.nodeType(hou.dopNodeTypeCategory(), 'pyrosolver::2.0') >>> node_type.nameComponents() ('', '', 'pyrosolver', '2.0')
nameWithCategory()
→ str
名前の頭にノードタイプカテゴリを付けてノードタイプ名を返します。
例えば、ジオメトリオブジェクトに関しては、この関数は、"Object/geo"
を返します。
カテゴリ名とタイプ名を一緒に使用することで、ノードタイプを固有に識別します。
>>> hou.nodeType(hou.objNodeTypeCategory(), "geo").nameWithCategory() 'Object/geo'
namespaceOrder()
→ tuple
of str
ネームスペース優先順位の下降順で並べ替えられたノートタイプ名リストを返します。 このリスト内のノードタイプは、このノードタイプと同じベースタイプを持ちます。 これらのノードタイプのネームスペースやバージョンは異なります。
Houdiniは、hou.Node.createNode()
内で曖昧なタイプ名を解決する時に、このリストを使用します。
つまり、そのリスト内でその関数内で指定した名前に一致した1番目のエントリーを使用します。
# フル名からコンポーネントに分解します >>> node_type = hou.nodeType(hou.dopNodeTypeCategory(), 'pyrosolver') >>> node_type.namespaceOrder() ('pyrosolver::2.0', 'pyrosolver')
description()
→ str
タブメニューに表示されるこのノードタイプの記述を返します。
例えば、ジオメトリオブジェクトに関しては、その記述は"Geometry"
です。
この記述は、Houdiniではオペレータラベルとも呼ばれています。
category()
→ hou.NodeTypeCategory
このノードタイプのノードタイプカテゴリを返します。 例えば、ジオメトリオブジェクトに関しては、その結果は、hou.objNodeTypeCategory()で返されるオブジェクトになります。
parmTemplateGroup()
→ hou.ParmTemplateGroup
このノードタイプのパラメータインターフェースに相当するparmテンプレートのグループを返します。
parmテンプレートグループの詳細は、hou.ParmTemplateGroupを参照してください。 デジタルアセットで定義したノードタイプのパラメータインターフェースを変更するには、 hou.HDADefinition.setParmTemplateGroupを参照してください。
parmTemplates()
→ tuple
of hou.ParmTemplate
このノードタイプのパラメータのparmテンプレートのタプルを返します。 個々のノードインスタンスのSpareパラメータは、ノードタイプとは関係がないので、このタプルに含まれないことに注意してください。
minNumInputs()
→ int
このタイプのノードが持つことができる入力の最小数を返します。この数の入力が接続されていないと、ノードはエラーを生成します。
maxNumInputs()
→ int
このタイプのノードが持つことができる入力の最大数を返します。 このノードタイプの入力数が無制限(例えば、merge SOP)になっていれば、9999を返します。
maxNumOutputs()
→ int
このタイプのノードが持つことができる出力の最大数を返します。 ほとんどのノードタイプの出力の数は1つだけですが、Split DOPのようないくつかのノードタイプでは、複数の出力を持つことができます。
hasEditableInputData()
→ bool
このノードタイプのノードが、ユーザ側でデータとそのノードの各入力を関連付けることが可能であればTrueを返します。 このデータの目的は、あるノードタイプを他のノードタイプに変更することです。 このデータは、hou.Node.editableInputNameやhou.Node.setEditableInputNameなどのメソッドを使ってアクセスすることができます。
hasPermanentUserDefaults()
→ bool
ユーザがこのノードタイプにパーマネントデフォルトを設定しているかどうか返します。
hou.Parm.hasTemporaryDefaultsも参照してください。
hasUnorderedInputs()
→ bool
このノードタイプが、その接続入力内にギャップを持つことができないかどうか返します。 例えば、Cookie SOPには2つの入力があり、2番目の入力のみが接続可能になっているので、このメソッドFalseを返します。 しかし、Merge SOPは入力にギャップを持つことができないので、このメソッドはTrueを返します。
hou.Node.inputs, hou.Node.inputConnections, hou.Node.inputConnectorsも参照してください。
isGenerator()
→ bool
このノードタイプがジェネレータとしてフラグが立っているかどうか返します。 例えば、Grid SOPは新しくジオメトリを生成するのに対し、Subdivide SOPは新しくジオメトリを生成しない代わりに、受け取ったジオメトリを処理します。 hou.NodeType.minNumInputsも参照してください。
isManager(include_management_types=True)
→ bool
このNoteTypeがマネージャーかどうか返します。
マネージャーノードインスタンスは、/obj
, /out
, /part
, /ch
, /shop
, /img
, /vex
です。
include_management_types
をTrueに設定すると、このメソッドは、このノードタイプがSHOPネットワークやVOPネットワークなどのような管理ノードタイプであればTrueを返します。
icon()
→ str
このノードタイプのアイコンの名前またはパスを返します。 Houdiniに元から入っているノードタイプは、フルパスの代わりに名前を使用していて、 Houdiniは、検索パスを使用して、その名前のアイコンの場所を特定します。
isReadable()
→ bool
このノードタイプが読み込み可能ならTrueを返し、そうでないならFalseを返します。 読み込み可能なノードタイプとは、そこからノードインスタンスを作成することができるノードタイプのことです。
isWritable()
→ bool
このノードタイプが書き込み可能ならTrueを返し、そうでないならFalseを返します。 書き込み可能なノードタイプとは、そこに変更を加えることができるノードタイプのことです。
areContentsViewable()
→ bool
ノードタイプ内に含まれているノードネットワークが閲覧可能ならTrueを返し、そうでないならFalseを返します。
containedNodeTypes()
→ tuple
of str
HDAに含まれているすべてのNodeType名のタプルを返します。
childTypeCategory()
→ hou.NodeTypeCategory or None
このNodeTypeの子のNodeTypeCategoryを返します。このNodeTypeに子を持つことができない場合はNone
を返します。
embeddedHelp()
→ str
このノードタイプに埋め込まれたヘルプテキストを返します。 埋め込みヘルプが存在しなければ空っぽの文字列を返します。
埋め込みヘルプは、以下のように2つの異なる場所で検索されます:
-
HDKノードなら、その
OP_Operator::getHDKHelp()
オーバーライドで指定されたテキスト -
HDAノードなら、それに相当するhou.HDADefinition.embeddedHelp()の結果
helpUrl()
→ str
このノードタイプのドキュメントの保存先であるURL、例えば、ファイル名やHDAセクションパスを返します。 ノードタイプのドキュメントの場所が見つからなかった場合は、空っぽの文字列を返します。
defaultHelpUrl()
→ str
ヘルプシステムがノードタイプドキュメントの保存先である実際の場所を調べようとする時の汎用URLを返します。 この汎用URLの書式は“operator:table/optypename”となっており、ネームスペースやバージョンなどの余分な情報を含んでいることがあります。
defaultColor()
→ hou.Color
ノードのhou.nodeFlag.ColorDefaultフラグが設定されている時に、ネットワークビューでそのタイプのノードの表示に使用されるカラーを返します。
setDefaultColor(color)
ノードのhou.nodeFlag.ColorDefaultフラグが設定されている時に、ネットワークビューでそのタイプのノードの表示に使用するカラーを設定します。
そのタイプ固有のデフォルトを削除するには、color
パラメータにNoneを渡します。
defaultShape()
→ str
ノードのシェイプが明示的に割り当てられていない時に、ネットワークビューでそのタイプのノードの表示に使用されるシェイプの名前を返します。
setDefaultShape(shape)
ノードのシェイプが明示的に割り当てられていない時に、ネットワークビューでそのタイプのノードの表示に使用するシェイプの名前を設定します。
そのタイプ固有のデフォルトを削除するには、shape
パラメータにNoneを渡します。