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