2018. 2. 3. 00:00ㆍStudy/Houdini
alt + E 를 누르면 vex editor 창이 켜진다.
float maxdist = ch("maxdist");
int nearpnts[] = nearpoints(0, @P, maxdist);
foreach (int pnt; nearpnts) {
if(pnt != @ptnum) {
int line = addprim(0, "polyline");
addvertex(0, line, @ptnum);
addvertex(0, line, pnt);
}
}
float maxdist = ch("maxdist");
- ch() parameter 창이 생겨 사용자가 조절 할 수 있는 창이 생김
int nearpnts[] = nearpoints(0, @P, maxdist);
- @P 에서 maxdist 값을 이용해 point 를 찾아라
foreach(int pnt; nearpnts) {
}
- nearpnts 에 point 들을 pnt에 대해 반복한다.
if(pnt != @ptnum) {
}
- pnt 가 @ptnum 과 같지 않으면 if 문을 출력하라
int line = addprim(0, "polyline")
- primitive 를 만들어라 poly line 으로
addvertex(0, line, @ptnum)
addvertex(0, line, pnt)
- nearpoints
가장 가까운 포인트들을 찾는다.
int [ ] nearpoints(<geometry>geometry, vector pt, float maxdist)
int [ ] nearpoints(<geometry>geometry, vector pt, float maxdist, int maxpts)
int [ ] nearpoints(<geometry>geometry, string ptgroup, vector pt, float maxdist)
int [ ] nearpoints(<geometry>geometry, string ptgroup, vector pt, float maxdist, int maxpts)
geometry
attribute wangle 에 연결된 node 를 표시 ex) 0
pt
가장 가까운 점을 찾을 공간에서의 위치
maxdist
검색 할 수 있는 최대의 거리
maxpts
검색 할 수 있는 최대 포인트 수
- foreach
선택적 열거 형을 사용하여 배열의 항목에 대해 반복한다.
foreach ([element_type] value; array) {
}
예제
int an_array [] = { 1 , 2 }
foreach ( int num , an_array ) {
printf ( "% d" , num );
}
- addprim
geo에 primitive 를 추가한다.
int addprim(int geohandle, string type)
addprim 혼자 쓸수 없다. vertex를 생성해줘야 primitive가 생긴다.
int geohandle 의 값은 0, geoself 뿐이다.
string type 에는
"poly" , "polyline" "tet" "sphere", "circle", "tube", "metaball","metasquad" "sphere", "circle",
"tube", "metaball","metasquad"
을 쓸수 있다.
- addvertex
geo primitive 에 vertex 를 추가한다.
int addvertex(int geohandle, int prim_num, int point_num)
int geohandle 의 값은 0, geoself 뿐이다.