Here're two expanded ways of connecting groups of points together!
The first method relies on you creating an attribute in a preceding point wrangle called "id". This is the value you'll search for, when making connections. The "destination" points go into the first input, the origin points go into the second.
int count = findattribvalcount(1,"point","id",i@id);
for (int i = 0; i < count; i++) {
int find = findattribval(1,"point","id",i@id,i);
int prim = addprim(0,"polyline");
vector p2 = point(1,"P",find);
int pt = addpoint(0,@ptnum);
setpointattrib(0,"P",pt,p2);
addvertex(0,prim,@ptnum);
addvertex(0,prim,pt);
}
LINE BY LINE
int count = findattribvalcount(1,"point","id",i@id);
//count number of points that have the "id" value
for (int i = 0; i < count; i++) {
//start for loop, for the number of points it has found
int find = findattribval(1,"point","id",i@id,i);
//get point number for point that has the id value. The last i is the index of the for loop.
int prim = addprim(0,"polyline");
//add primitive, of polyline type
vector p2 = point(1,"P",find);
//create position vector based on point number found
int pt = addpoint(0,@ptnum);
//create point at the position of current point
setpointattrib(0,"P",pt,p2);
//set position of just created point to the vector created
addvertex(0,prim,@ptnum);
//add vertex to the primitive at current point position
addvertex(0,prim,pt);
//add vertex to the primitive at found point position
}
This method doesn't need the "id" value, but just grabs the closest point to it. Again the many destinations go into the first input and the few "origins" go to the second.
int nearpt = nearpoint(1,@P);
int prim = addprim(0,"polyline");
vector p2 = point(1,"P",nearpt);
int pt = addpoint(0,@ptnum);
setpointattrib(0,"P",pt,p2);
addvertex(0,prim,@ptnum);
addvertex(0,prim,pt);
LINE BY LINE
int nearpt = nearpoint(1,@P);
//get id number of point from second input to currently processed point's position
int prim = addprim(0,"polyline");
//create primitive of polyline type
vector p2 = point(1,"P",nearpt);
//set vector to nearpt's position
int pt = addpoint(0,@ptnum);
//add point at currently processed point's position
setpointattrib(0,"P",pt,p2);
//set position of new point to position of nearpt.
addvertex(0,prim,@ptnum);
//add vertex at currently processed point's position
addvertex(0,prim,pt);
//add vertex at nearpt's position
No comments:
Post a Comment