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); } }
void bracketMatch(char *brackets) { int len; bool ret=true; int count=0; if(brackets == NULL) { return; } len = strlen(brackets); if(len&1)/*len must be even*/ { return; } while(1) { printf("%s \n", brackets); count++; while(1) { ret=nextOne(brackets+1, len-2); if (!ret) { printf("total count %d\n", count); return; } if (validMatch(brackets, len)) { break; } } } }
void BookmarkIterator::delayedEmitNextOne() { QTimer::singleShot(1, this, SLOT(nextOne())); }