int getattribute(string geometry, <type>&value, string attribclass, string attribute_name, int element_number, int vertex_number)
int getattribute(string geometry, <type>&value[], string attribclass, string attribute_name, int element_number, int vertex_number)
Warning
この関数は、ノードコンテキスト内の入力からの読み込みができないので、他のアトリビュート関数よりも使いにくいです。 そのため、getattribなどの他のアトリビュート関数のどれかを使用した方が良いでしょう。
アトリビュートが存在しない、または、読み込みできなかった場合は0
を、成功すれば1
を返します。この関数が0
(失敗)を返した場合、指定した変数は初期化されないままになります。
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。
value
アトリビュート値で上書きする変数。
attribclass
detail
(またはglobal
), point
, prim
, vertex
のどれか。
primgroup
, pointgroup
, vertexgroup
を使用することで、グループから読み込むこともできます。
attribute_name
読み込むアトリビュート(またはIntrinsic)の名前。
element_number
ポイント番号またはプリミティブ番号。Detailアトリビュートを読み込む場合は、ここに0
を使用します。
vertex_number
-
Vertexアトリビュートを読み込む時は、
element_number
引数にプリミティブ番号を指定し、そのプリミティブの頂点番号をここに指定します。 -
線形頂点インデックスを使用するには、
element_number
に-1
を使用し、頂点インデックスをここに指定します。 -
Vertexアトリビュートを読み込まない場合、この引数は無視されます。
Examples ¶
vector pos, uv, clr; // "defgeo.bgeo"内のPoint番号3の位置を取得します。 getattribute("defgeo.bgeo", pos, "point", "P", 3, 0); // "defgeo.bgeo"内のPrimitive番号3のVertex番号2の"uv"アトリビュートの値を取得します。 getattribute("defgeo.bgeo", uv, "vertex", "uv", 3, 2); // "/obj/geo1/color1"のパスで指定したSOP内のPrimitive番号7の"Cd"アトリビュートの値を // 取得します(Houdiniのみ) getattribute("op:/obj/geo1/color1", clr, "primitive", "Cd", 7);
See also | |
attrib |
|
donotuse |