curtag = 0 for edge in mesh: if edge is creased: edge.v1.someflag = curtag edge.v2.someflag = curtag curtag+= 1 done = 0 while(!done): done = 1 for edge in mesh: if edge is creased: if edge.v1.someflag < edge.v2.someflag: edge.v2.someflag = edge.v1.someflag done = 0 else if edge.v2.someflag < edge.v1.someflag: edge.v1.someflag = edge.v2.someflag done = 0