static void loopTheLoop(std::list<GEdge*> &wire, std::list<GEdgeSigned> &loop, GEdge **degeneratedToInsert) { GEdgeSigned *prevOne = 0; GEdgeSigned ges(0,0); while(wire.size()){ if (prevOne && (*degeneratedToInsert) && (*degeneratedToInsert)->getBeginVertex () == prevOne->getEndVertex()){ ges = GEdgeSigned(1,*degeneratedToInsert); *degeneratedToInsert = 0; // printf("second degenerated edge inserted\n"); } else ges = nextOne(prevOne, wire); if(ges.getSign() == 0){ // oops if (0){ Msg::Error("Something wrong in edge loop of size=%d, no sign !", wire.size()); for (std::list<GEdge* >::iterator it = wire.begin(); it != wire.end(); it++){ Msg::Error("GEdge=%d begin=%d end =%d", (*it)->tag(), (*it)->getBeginVertex()->tag(), (*it)->getEndVertex()->tag()); } } break; } prevOne = ⩾ // ges.print(); loop.push_back(ges); } }
static void loopTheLoop(std::list<GEdge *> &wire, std::list<GEdgeSigned> &loop, GEdge **degeneratedToInsert) { GEdgeSigned *prevOne = 0; GEdgeSigned ges(0, 0); while(wire.size()) { if(prevOne && (*degeneratedToInsert) && (*degeneratedToInsert)->getBeginVertex() == prevOne->getEndVertex()) { ges = GEdgeSigned(1, *degeneratedToInsert); *degeneratedToInsert = 0; // printf("second degenerated edge inserted\n"); } else ges = nextOne(prevOne, wire); if(ges.getSign() == 0) { // oops Msg::Warning("Something wrong in curve loop of size=%d, no sign!", wire.size()); break; } prevOne = ⩾ // ges.print(); loop.push_back(ges); } }