In this example we integrate random rectangular curves into a quad mesh.
A primitive wrangle integrates the window shapes by adding vertices for each point of the respective curve from the second input.
int seed = point(0, 'curvenum', i@ptnum);
int index = int(rand(i@primrow, seed) * nprimitives(1));
int pts[] = primpoints(1, index);
append(pts, pts[0]);
int pts_window[];
foreach(int pt; pts){
vector pos_pt = point(1, 'P', pt) + {0.5, 0.5, 0.0};
vector pos_pr = primuv(0, 'P', i@primnum, pos_pt);
int pt_add = addpoint(0, pos_pr);
addvertex(0, i@primnum, pt_add);
append(pts_window, pt_add);
}
int pts_prim[] = primpoints(0, i@primnum);
addvertex(0, i@primnum, pts_prim[-1]);
int prim_add = addprim(0, 'poly', pts_window);
setprimgroup(0, 'window', prim_add, 1, 'set');