vex: primitive - miyagiA/MyLearningNote GitHub Wiki

//prim wangle

int hedge=chi("hedge_num");
int point=chi("point_num");
int vertex=chi("vertex_num");
int primitive=chi("primitive_num");
float u=chf("u");float v=chf("v");

//prim(0,)

//Primitive/Vertexのペアをポイント番号に変換します。
i@point_of_prim=primpoint(0,@primnum,vertex);

//ポイントを含んだプリミティブのリストを返します。
i[]@prims_incl_point=pointprims(0,point);

//Primitive/Vertexのペアを線形頂点に変換します。
i@vertex_of_prim=primvertex(0,@primnum,vertex);

//ジオメトリのプリミティブ内の頂点の数を返します。
i@vertexcount_of_prim=primvertexcount(0,@primnum);

//プリミティブに含まれているハーフエッジの 1つ を返します。
i@hedge_prim=primhedge(0,point);

//プリミティブ(プリミティブ番号)のパラメトリックポジション(u,v)での法線を返します。*(uvw)(u,v,w)(u,v)
v@prim_normal=prim_normal(0,@primnum,u,v);

//ハーフエッジを含んだプリミティブを返します。
i@hedge_prim=hedge_prim(0,hedge);

//入力またはジオメトリファイル内のプリミティブの数を返します。
i@n_primitives=nprimitives(0);

//idアトリビュートでプリミティブ番号を検索します。(ex:@primnum==3)
i@idtoprim=idtoprim(0,3);

//ジオメトリにPrimitiveアトリビュートを追加します。
addprimattrib(0,"test",333);
//i@test=0;
//どちらも先に終わらせたい!けどわからん・・・

//ジオメトリにPrimitiveアトリビュートを設定します。
setprimattrib(0,"test",@primnum,222,"set");
//ジオメトリにPrimitiveアトリビュートが存在するかチェックします。
i@has_primattrib=hasprimattrib(0,"test");
i@has_primattrib_0=hasprimattrib(0,"hoge");

//ジオメトリからプリミティブを削除します。(並列で消えるので消える前のIDが重要!)
/*removeprim(0,2,0);
removeprim(0,4,0);*/

//-----------------------------------
//[]primintrinsic=primintrinsic();
/*
addprim

curvearclen

hasprimattrib

inprimgroup

nametoprim

nprimitivesgroup

prim_attribute

primarclen
primattrib
primattribsize
primattribtype

primattribtypeinfo

primduv
primfind
primuv
primuvconvert
primvertices

setprimgroup
setprimintrinsic
setprimvertex

vertexindex
vertexprim
vertexprimindex
*/