int setvertexattrib(int geohandle, string name, int prim_num, int vertex_num, <type>value, string mode="set")
int setvertexattrib(int geohandle, string name, int prim_num, int vertex_num, <type>value[], string mode="set")
線形頂点インデックスを使用するには 、prim_num
に 線形頂点番号 を設定し、vertex_num
を-1
に設定します。
Note
この関数は、他のほとんどのVEX関数の動作方法とは 異なります 。
成功したらgeohandle
の値を返し、失敗したら-1
を返します。
Note
アトリビュートが存在しなかった場合、この関数は、デフォルト値が0、空っぽの文字列または空っぽの配列で アトリビュートを作成 します。 数値アトリビュートのデフォルト値を制御したい場合、そのアトリビュートを設定する前にaddattribを使用してください。
アトリビュートが存在しなかった場合、Cd
やorient
などの標準ネームのアトリビュートに対してタイプ情報が自動的に設定されます。
数値アトリビュートのタイプ情報を制御したい場合、そのアトリビュートを設定する前にsetattribtypeinfoを使用してください。
geohandle
書き出し先のジオメトリハンドル。現在のところ、有効な値は0
またはノードの現行ジオメトリを意味するgeoselfのみです。
(将来、この引数は他のジオメトリに書き出せるようにする予定です。)
name
変更するグループの名前。
prim_num
追加/削除したい頂点を含んだプリミティブの番号。
vertex_num
追加/削除したい頂点のプリミティブに対する頂点オフセット。
value
アトリビュートに設定する値。
Note
VEXプログラム内では、1個のタイプのみを単一アトリビュートに書き出すことができます。
つまり、浮動小数点と整数を混在させて記述することができません。
1
のようなリテラルは整数として書き込まれるので、以前に浮動小数点が書き込まれている場合はその値が無視されることに気を付けてください。
mode
(オプション) 指定すると、これは、関数がアトリビュートの既存の値を変更する方法を制御します。
|
指定した値でアトリビュートを上書きします。 |
|
アトリビュートに値を加算します。 |
|
アトリビュートにその最小値とその値を設定します。 |
|
アトリビュートにその最大値とその値を設定します。 |
|
アトリビュートにその値を乗算します。マトリックスでは、これはマトリックスの乗算をします。ベクトルでは、コンポーネント毎に乗算します。 |
|
ソース値とは無関係にアトリビュートをトグルします。グループのメンバーシップのトグルで役に立ちます。 |
|
文字列、辞書、配列のアトリビュートで有効です。文字列、配列のアトリビュートの場合、ソース値を元の値の最後に追加します。辞書のアトリビュートの場合、元の辞書をソース辞書で更新し、マッチしたキーを置換します。 |
See also | |
attrib |
|
vertex |
|