for(int i=0;i<this->target.size();i++){
this->points[i]->x = this->target[i]->x;
this->points[i]->y = this->target[i]->y;
}
count = this->target.size();
for(int i=0;i<this->target.size();i++){
this->target[i]->calcuRad(&startPoint,
this->target[this->target[i]->prevNum],
this->target[this->target[i]->nextNum]);
if(this->target[i]->radian == 0.0){
this->target[i]->life =false;
this->target[this->target[i]->prevNum]->nextNum = this->target[i]->nextNum;
this->target[this->target[i]->nextNum]->prevNum = this->target[i]->prevNum;
count--;
}
//fprintf(hoge,"%d,%d\n",(int)this->target[i]->x,(int)this->target[i]->y);
}
//fclose(hoge);
int peke;
while(count>2){
for(int i=0;i<this->target.size();i++){
if(this->target[i]->radian > 0 && this->target[i]->life){
Teto *teto = this->createFrom(i);
if (this->tetoOK(teto) && !this->otherPointsInTeto(teto))
{
this->tetos.push_back(teto);
this->drawTeto(teto,tetosImg);
this->target[this->target[i]->nextNum]->prevNum = this->target[i]->prevNum;
this->target[this->target[i]->nextNum]->calcuRad(&startPoint,
this->target[this->target[this->target[i]->nextNum]->prevNum],
this->target[this->target[this->target[i]->nextNum]->nextNum]);
this->target[this->target[i]->prevNum]->nextNum = this->target[i]->nextNum;
this->target[this->target[i]->prevNum]->calcuRad(&startPoint,
this->target[this->target[this->target[i]->prevNum]->prevNum],
this->target[this->target[this->target[i]->prevNum]->nextNum]);
this->target[i]->life = false;
count--;
char c = (char)cvWaitKey ( 1 );
cvShowImage("tetosImg",tetosImg);
i++;
}
}
}
}
0 件のコメント:
コメントを投稿