// Collapse short edges.
tmp=this->edges.head;
while(1){
if(tmp->length()<4.0/5.0*aver_len){
collapse_edge(tmp);
}
if(tmp==this->edges.tail){
break;
}
else{
tmp=tmp->next_node;
}
}
Above is the code where I call collapse_edge inside the loop. To avoid interference, I commented out the other three operations. In version 2.8, collapse runs without any exceptions, but after only 62 collapse operations the program hangs. After investigation, it hangs during the point‑deletion step of the 63rd collapse. Any ideas on how to solve this problem?
